transition: Add transparency support to transitions
Added ShaderJobEvent to CrossDissolveTransition which sets alpha as required. app/node/block/transition/crossdissolve/crossdissolvetransition.cpp app/node/block/transition/crossdissolve/crossdissolvetransition.h
This commit is contained in:
@@ -59,6 +59,11 @@ ShaderCode CrossDissolveTransition::GetShaderCode(const QString &shader_id) cons
|
|||||||
return ShaderCode(FileFunctions::ReadFileAsString(":/shaders/crossdissolve.frag"), QString());
|
return ShaderCode(FileFunctions::ReadFileAsString(":/shaders/crossdissolve.frag"), QString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CrossDissolveTransition::ShaderJobEvent(NodeValueDatabase &value, ShaderJob &job) const
|
||||||
|
{
|
||||||
|
job.SetAlphaChannelRequired(true);
|
||||||
|
}
|
||||||
|
|
||||||
void CrossDissolveTransition::SampleJobEvent(SampleBufferPtr from_samples, SampleBufferPtr to_samples, SampleBufferPtr out_samples, double time_in) const
|
void CrossDissolveTransition::SampleJobEvent(SampleBufferPtr from_samples, SampleBufferPtr to_samples, SampleBufferPtr out_samples, double time_in) const
|
||||||
{
|
{
|
||||||
for (int i=0; i<out_samples->sample_count(); i++) {
|
for (int i=0; i<out_samples->sample_count(); i++) {
|
||||||
|
|||||||
@@ -43,6 +43,8 @@ public:
|
|||||||
virtual ShaderCode GetShaderCode(const QString& shader_id) const override;
|
virtual ShaderCode GetShaderCode(const QString& shader_id) const override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
virtual void ShaderJobEvent(NodeValueDatabase& value, ShaderJob& job) const override;
|
||||||
|
|
||||||
virtual void SampleJobEvent(SampleBufferPtr from_samples, SampleBufferPtr to_samples, SampleBufferPtr out_samples, double time_in) const override;
|
virtual void SampleJobEvent(SampleBufferPtr from_samples, SampleBufferPtr to_samples, SampleBufferPtr out_samples, double time_in) const override;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user