Hello Michael,
On Wed, Apr 6, 2016 at 2:28 AM, Michael Raab <michael-r...@gmx.de> wrote:
> Hi,
> I just realized that it is necessary to commit changes to trigger the call
> to the gl update procedure for shader uniforms.
> The reason is that in
>
> bool ShaderProgramVariables::updateMapSVariable(const Char8 *name,
> const ValueType &value)
> and
>
> bool ShaderProgramVariables::updateMapMVariable(const char *name,
> const ValueType &value)
>
> the local uniform values are changed, but the appropriate field
> (VariableChanged) that should mark changed values is not updated.
> The field is only touched if uniforms are added or if the changed callback
> is executed.
> Can someone explain why this is implemented this way? I temporally added
> the access to the VariableChanged field in both methods like this
>
> this->editVariableChanged((*it).second.first) = true;
>
> For now this solves my issue, but I'm not sure if there are any side
> effects?! Carsten, Gerrit could you please drop some lines on this?
>
in general (re-)computation of derived state is delayed until you commit
changes, e.g. when you change a transform the parent bounding boxes are
only marked as dirty on commit changes. I believe the same principle
applies here and without having looked closely at the code I think this is
working as intended.
Cheers,
Carsten
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial! http://pubads.g.doubleclick.net/
gampad/clk?id=1444514301&iu=/ca-pub-7940484522588532
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users