as you said, the Output Component reflects what's inside the imported file.
So far, there's nothing wrong about that.
Problems occurs when using some nodes, the aformentioned 3D Card is one
It reflects an issue about how Natron deals with the alpha channel when an
imported read doesn't have one.
We assume that when an image/sequence is imported, Natron fills the default
Layers (RGBA, Backward, Forward, etc...) with what it finds within the Read.
If, for exemple, there's no Backward information in the file(s), it fills
this layer with black. So it does the same with the alpha channel.
You'll notice that, in practice, there's no difference between a Read node
without alpha (RGB) and the same Read with a black alpha (RGBA).
But in Natron there is one, when using Shadertoy for exemple.
Although the script i wrote outputs an alpha, because the Read node doesn't
have one, if i put a Premult node just after, the alpha is simply gonna be
But as soon as the Read is explicitly set to RGBA, it works
That's why i was talking about misconception.
So, if I was to make a suggestion, i would say there are 2 options :
1) Remove that Output Component feature. I, personnaly don't see any use to
it, but there may be one.
For exemple reading only the alpha channel from a sequence and therefore,
ignoring the other channels, may reduce memory usage.
Maybe was that the reason why you implemented it.
I notice that in Nuke, there is no such feature. Everything is processed in
In Fusion neither as far as I can remember. Everything is processed in RGBA.
In After Effects, wether you import a sequence with or without an alpha
channel, as soon as you bring it into a comp, an alpha is automaticly
generated. Everything is processed in RGBA.
In Flame it's different, so it can't really be compared but still,
everything is processed in RGBA.
2) Keep the Output Component feature.
But then, make any Read (RGB or RGBA) to be processed as RGBA.
Anyway, with my simple init.py file, I set any Read to RGBA in order for
Natron to work as expected.
So in the end, it works.
2018-01-30 9:29 GMT+01:00 Alexandre Gauthier-Foichat <