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?
 
Thanks you very much,
Michael
------------------------------------------------------------------------------
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to