Forum: Poser 13


Subject: Animated color in material doesn't display properly in Preview

grwall opened this issue on Sep 23, 2024 ยท 8 posts


grwall posted Mon, 23 September 2024 at 9:46 AM


I noticed that animating any color property in any material node chain causes the preview rendered to not display that material color correctly.

To see it, create two spheres side-by-side. In their materials, do the following:

-------------------------
* On one sphere, add a diffuse color that's a combination of all colors (not just all red, etc..), like R=240 G=70 B=40

* On the second sphere, create a "Simple Color" node and add the same color to that node, then connect it to diffuse color.
--------------------------

At this point, the two spheres look exactly the same.. Now:

------------------------
* On the second sphere, ANIMATE the simple color (click key next to clolor selection swatch), DISCONNECT the node from the diffuse color root, then reconnect it.
-------------------------

Now, the second sphere looks very different, even though, strictly speaking, nothing has changed. I notice that this happens in all instances of animated color swatches in any type of node, on all figures and objects...


Does anyone know how to fix this? It *does* render okay in the actual Firefly/Superfly renderer, but it's annoying to have the Preview renderer mess this up.


grwall posted Mon, 23 September 2024 at 10:04 AM

Replying to my own post... I forgot while posting this, "Simple Color" node just breaks completely sometimes, when animated. Other nodes like "hsv" will work, but always produce wrong colors in the preview renderer when the color is animated.

hborre posted Mon, 23 September 2024 at 11:11 AM

You will also see this color shift if you animate the Diffuse Color on the PoserSurface node alone.

Open a support ticket. Hopefully, the techs will have an explanation for the behavior.  It might be an unreported bug.


Richard60 posted Mon, 23 September 2024 at 8:16 PM

The other thing is that Preview is limited to FireFly only.  If you have ANY SuperFly nodes in the material room that will effect the Preview engine.  If you only have FireFly nodes you should have no problem.  

Poser 5, 6, 7, 8, Poser Pro 9 (2012), 10 (2014), 11, 12, 13


hborre posted Mon, 23 September 2024 at 10:57 PM

I must respectfully disagree. This issue occurs even with the PoserSurface node present. The sole workaround seems to be establishing your node connections prior to animating the channel. Additionally, I've noticed this change when switching back and forth to the Material Room.  I have a feeling that something got broken.


grwall posted Fri, 27 September 2024 at 10:38 AM

I received a response from a submitted ticket, very quickly, actually, kinda impressed, heh. I just took a few days to play around with it.

I *THINK* the below is correct. I didn't 100% understand the answer, but:
   It turns out the "Gamma Correction" setting under the "Firefly" render options will actually change the behavior of the Preview window. If Gamma Correction is "on", the preview renderer appears to use the SueprFly renderer to produce the preview. If the Gamma setting is "off", then the "firefly" renderer is used to produce the preview.

The way that the two renderers produce their "preview" is different.


I tried experimenting more, in general, with node settings and values to see the differences between teh two renderers, but I lost the plot a bit... too many unexpected variables and things I clearly don't understand. Like, the same material chain with the same settings/property values will priduce completely different color resuits in Firefly vs. Superfly,  but this depends on "unexpected" things, like whether the property is animated or not, deviation from default value (rather than just the straight value), etc...

In general, the major difference for the preview is that Gamma setting.




hborre posted Fri, 27 September 2024 at 11:20 AM

That's good to know although I think that is an odd behavior.  It is worth keeping an eye on it.


grwall posted Sat, 28 September 2024 at 9:04 AM

So, the above post I made is *not* correct. The Gamma setting does NOT change the renderer... I misunderstood the response from my ticket.

I think what's happening, now, is that animating a color property causes the scene-wide Gamma setting to apply to that color, **in the Preview render only** not in the Firefly / Superfly render.

The cockamamie solution I came up with is to add series of nodes to apply an inverse gamma ( For instamce, 0.4545 for the default 2.2 document gamma) to an animated color, then multiply that with texture node output. The gamma value in the gamma node is animated, so that the gamma can be set to 1.0 before rendering the scene... So basically, the preview renderer now displays the correct colors with aniamted color properties, and the "corrective gamma" is set to "unity" before rendering the scene (since the actual Firefly / Superfly renderer never had the problem with animated colors, no correction is needed, so that "corrective" inverse gamma actually causes it's own problem if not set to unity).