Jeff Lait
jlait
About Me
EXPERTISE
Developer
Connect
LOCATION
WEBSITE
Houdini Skills
Availability
Not Specified
My Badges
SideFX Staff
Since Jul 2005
My Tutorials
Recent Forum Posts
Why does slap comp change output file brightness? Aug. 4, 2026, 5:08 p.m.
Yes, having to use a ROP Image rather defeats the purpose of a having slapcomp.
If you can assemble this into a .hip and submit as a bug to support we can look into it, there could be several different things going wrong at this point.
If you can assemble this into a .hip and submit as a bug to support we can look into it, there could be several different things going wrong at this point.
Why does slap comp change output file brightness? Aug. 4, 2026, 10:29 a.m.
RGBA with PNG is a bit weird - PNG has non-associated alpha, IIRC, but how people actually write or read it is pretty random.
First pass would be to do a RGBA -> RGB before saving as png to verify your colour space is right. On ROP Image, usually Color Space Conversion: "Bake to Display/View" will get you the WYSIWYG as it will handle any tone-mapping your display may have. If the RGB looks right, then it is an associated alpha issue. On ROP IMage, the Optimization tab has PNG/TGA Pre Multiplication. Try changing to raw and see if your viewer is happier.
Glow I think is building an emissive RGBA which can't be represented as an unassociated alpha, so you'll have to pick a non-zero alpha and bake it down.
First pass would be to do a RGBA -> RGB before saving as png to verify your colour space is right. On ROP Image, usually Color Space Conversion: "Bake to Display/View" will get you the WYSIWYG as it will handle any tone-mapping your display may have. If the RGB looks right, then it is an associated alpha issue. On ROP IMage, the Optimization tab has PNG/TGA Pre Multiplication. Try changing to raw and see if your viewer is happier.
Glow I think is building an emissive RGBA which can't be represented as an unassociated alpha, so you'll have to pick a non-zero alpha and bake it down.
Block and Subframes/Substeps July 21, 2026, 9:01 a.m.
Sorry, I was unclear, but the timepack goes directly to an average without using a block. The average will then do accumulation.
You can put a timepack into a block, but you need to a bit of hoop-jumping to run-over the images.
The attached shows both approaches. The block requires a cable rename to erase any incoming cable names. Then Cable Unpack can refer to them by raw index, and we can use @cop_iteration to run over the instances.
The downside of this setup is you end up pre-cooking the 40 substeps in this case, rather than doing them just in time. So this is a workaround rather than replacement for proper substepping.
You can put a timepack into a block, but you need to a bit of hoop-jumping to run-over the images.
The attached shows both approaches. The block requires a cable rename to erase any incoming cable names. Then Cable Unpack can refer to them by raw index, and we can use @cop_iteration to run over the instances.
The downside of this setup is you end up pre-cooking the 40 substeps in this case, rather than doing them just in time. So this is a workaround rather than replacement for proper substepping.