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:
Thomas Wilshaw
2020-11-23 21:53:09 +00:00
parent f9e43960a6
commit b1b7d58e9d
2 changed files with 7 additions and 0 deletions
@@ -59,6 +59,11 @@ ShaderCode CrossDissolveTransition::GetShaderCode(const QString &shader_id) cons
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
{
for (int i=0; i<out_samples->sample_count(); i++) {
@@ -43,6 +43,8 @@ public:
virtual ShaderCode GetShaderCode(const QString& shader_id) const override;
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;
};