Hi all,
I think I've figured out why sometimes procedural variables on shaders
are not updated correctly (at least for 2; reports about the same
problem in 1.x are still unsolved unfortunately): In
DrawEnv::activateState() line ~340 there is this test:
if(pNewState != _pActiveState ||
pNewStateOverride != _pActiveStateOverride )
{
changeTo(...);
}
If only have example scenes that use OSG_ENABLE_NEW_SHADER=OFF and use
SHLChunk, but I don't see anything that would make it better for the new
shader infrastructure as that also relies an changeFrom being called
regardless of a change being necessary.
The trivial fix is to just remove the test, but I'm concerned about
performance implications this might have (I've not looked into those
yet) and was wondering what alternatives there might be?
One thing I could think of is expand the notion of a dependency from
shader variables to StateChunks and State itself, so that the above test
could have an else if branch that tests if the state is object dependent.
Comments, ideas?
Cheers,
Carsten
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Opensg-core mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-core