<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:"Courier New";}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hello,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’ve been wracking my brain all day on trying to figure out how to do this with no clear examples found online.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I have this set of calls in my C++:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="background:#1E1E1E"><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA">mGroupState </span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">=</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA"> mBoundGeometry</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">-></span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">getOrCreateStateSet</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">();</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA"><o:p></o:p></span></p>
<p class="MsoNormal" style="background:#1E1E1E"><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA">      mGroupState</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">-></span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">getOrCreateUniform</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">(</span><span style="font-size:14.5pt;font-family:Consolas;color:#D69D85">"BaseTexSampler"</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">,</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA"> </span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">osg</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">::</span><span style="font-size:14.5pt;font-family:Consolas;color:#4EC9B0">Uniform</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">::</span><span style="font-size:14.5pt;font-family:Consolas;color:#B8D7A3">SAMPLER_2D</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">)-></span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">set</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">(</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA">mBaseColor</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">);</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA"><o:p></o:p></span></p>
<p class="MsoNormal" style="background:#1E1E1E"><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA">      mGroupState</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">-></span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">getOrCreateUniform</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">(</span><span style="font-size:14.5pt;font-family:Consolas;color:#D69D85">"BaseWeight"</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">,</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA"> </span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">osg</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">::</span><span style="font-size:14.5pt;font-family:Consolas;color:#4EC9B0">Uniform</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">::</span><span style="font-size:14.5pt;font-family:Consolas;color:#B8D7A3">FLOAT</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">)-></span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">set</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">(</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA">mBaseWeight</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">);</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA"><o:p></o:p></span></p>
<p class="MsoNormal" style="background:#1E1E1E"><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA">      mGroupState</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">-></span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">setTextureAttributeAndModes</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">(</span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">BASE_TEXTURE_UNIT</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">,</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA"> mBaseColor</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">,</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA"> </span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">osg</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">::</span><span style="font-size:14.5pt;font-family:Consolas;color:#4EC9B0">StateAttribute</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">::</span><span style="font-size:14.5pt;font-family:Consolas;color:#B8D7A3">ON</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">);</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’ve bound this base texture to texture unit (BASE_TEXTURE_UNIT = 1).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Later in the code, I have this in another function if I create another layer with another texture:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<pre style="background:#1E1E1E"><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA">mGroupState</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">-></span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">getOrCreateUniform</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">(</span><span style="font-size:14.5pt;font-family:Consolas;color:#D69D85">"TexLayerSampler0"</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">,</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA"> </span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">osg</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">::</span><span style="font-size:14.5pt;font-family:Consolas;color:#4EC9B0">Uniform</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">::</span><span style="font-size:14.5pt;font-family:Consolas;color:#B8D7A3">SAMPLER_2D</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">)-></span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">set</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">(</span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">tex</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">);</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA"><o:p></o:p></span></pre>
<pre style="background:#1E1E1E"><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA">            mGroupState</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">-></span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">setTextureAttribute</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">(</span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">BASE_TEXTURE_UNIT</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA"> </span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">+</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA"> </span><span style="font-size:14.5pt;font-family:Consolas;color:#B5CEA8">1</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">,</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA"> </span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">tex</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">,</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA"> </span><span style="font-size:14.5pt;font-family:Consolas;color:#C8C8C8">osg</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">::</span><span style="font-size:14.5pt;font-family:Consolas;color:#4EC9B0">StateAttribute</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">::</span><span style="font-size:14.5pt;font-family:Consolas;color:#B8D7A3">ON</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">);</span><span style="font-size:14.5pt;font-family:Consolas;color:#DADADA"><o:p></o:p></span></pre>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Where I’ve created a second texture and want it to reside in texture unit 2.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">However, in my shader code when indexing the TexLayerSampler0, I only get base texture.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="line-height:18.0pt;background:#1E1E1E"><span style="font-size:13.5pt;font-family:Consolas;color:#D4D4D4">finalColor =
</span><span style="font-size:13.5pt;font-family:Consolas;color:#DCDCAA">texture</span><span style="font-size:13.5pt;font-family:Consolas;color:#D4D4D4">(TexLayerSampler0, LayeredTexCoords[</span><span style="font-size:13.5pt;font-family:Consolas;color:#B5CEA8">0</span><span style="font-size:13.5pt;font-family:Consolas;color:#D4D4D4">].</span><span style="font-size:13.5pt;font-family:Consolas;color:#9CDCFE">st</span><span style="font-size:13.5pt;font-family:Consolas;color:#D4D4D4">);<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Which is wrong.  I’m stil trying to figure out OpenGL and how it works along with OSG so sorry for the inexperience.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-M<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#1F497D">----------------------------------------<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#1F497D">Marlin Rowley<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#1F497D">Software Engineer, Staff<o:p></o:p></span></p>
<p class="MsoNormal"><img width="156" height="40" style="width:1.625in;height:.4166in" id="Picture_x0020_1" src="cid:image001.jpg@01D3D7DE.A1C88160" alt="cid:image002.jpg@01D39374.DEC5A2E0"><span style="font-size:10.0pt;font-family:"Times New Roman",serif;color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><i><span style="font-size:12.0pt;font-family:"Times New Roman",serif;color:#1F497D">Missiles and Fire Control</span></i><span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#1F497D">972-603-1931 (office)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#1F497D">214-926-0622 (mobile)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><a href="mailto:marlin.r.rowley@lmco.com"><span style="color:#0563C1">marlin.r.rowley@lmco.com</span></a></span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>