<div dir="ltr">Hi Marln,<br><div class="gmail_extra"><br><div class="gmail_quote">On 18 April 2018 at 15:31, Rowley, Marlin R <span dir="ltr"><<a href="mailto:marlin.r.rowley@lmco.com" target="_blank">marlin.r.rowley@lmco.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div link="#0563C1" vlink="#954F72" lang="EN-US">
<div class="m_-6769742923688223486WordSection1">Is there an example of setting values in a uniform struct to pass to the shaders along with the shader code that uses these values?
</div></div></blockquote><div><br></div><div>I don't recall if we have an example illustrating setting of uniform struct - I haven't written all the OSG examples or other parts of the OSG code base so can only easily speak off the top of my head of what I've written or have worked closely with, the rest I just look up using grep :-)<br><br></div><div>Although I don't have an example I can point you at, I have used struct in Uniforms before by declaring the struct in the shader source, then in the osg::Uniform setup  use a separate osg::Uniform for each uniform i.e.<br><br><br></div><div>-- GLSL code:<br><br></div><div>struct MyStruct<br>{<br></div><div>   float a;<br></div><div>   float b;<br></div><div>};<br></div><div> <br></div><div>uniform MyStruct mystruct;<br><br></div><div>--- C++ code :<br></div><div><br></div><div>stateset->addUniform(new osg::Uniform("mystruct.a", 1.0f));<br>stateset->addUniform(new osg::Uniform("mystruct.b", 2.5f));<br><br></div><div>Hope this helps.<br></div><div>Robert.<br></div></div></div></div>