<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=utf-8">
<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:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle18
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.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="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Thanks Robert. I got it working and will do text only for code in the future.<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@01D3DAF6.5126BEA0" 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>
<p class="MsoNormal"><b>From:</b> osg-users [mailto:osg-users-bounces@lists.openscenegraph.org]
<b>On Behalf Of </b>Robert Osfield<br>
<b>Sent:</b> Friday, April 20, 2018 2:06 AM<br>
<b>To:</b> OpenSceneGraph Users <osg-users@lists.openscenegraph.org><br>
<b>Subject:</b> EXTERNAL: Re: [osg-users] EXTERNAL: Re: Help on multitexturing..<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On 19 April 2018 at 20:30, Rowley, Marlin R <<a href="mailto:marlin.r.rowley@lmco.com" target="_blank">marlin.r.rowley@lmco.com</a>> wrote:<o:p></o:p></p>
<div>
<div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I thought the sampler value was a pointer to a texture?<o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Where did you get that idea? None of the OSG example attempt this. When using OpenGL you pass the sampler uniforms as int, when it comes to OpenGL the OSG is just a lightweight wrapper around it.
<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I set the texture unit to 1 because we’ll need the base texture unit 0 later on. My goal is to turn on up to 10 texture units and blend them all together.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">To be more clear, he is some more code:<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;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><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;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:#C8C8C8">get</span><span style="font-size:14.5pt;font-family:Consolas;color:#B4B4B4">());</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;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><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;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><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">This sets the base texture unit 1 to be bound to the mBaseColor (which is a osg::ref_ptr<osg::Texture2D>) created before the function call.<o:p></o:p></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">I tell you want the problem is and you copy and paste more code with that exact problem in. Pass in an int value for the sampler texture unit, so BASE_TEXTURE_UNIT, not the texture pointer.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">For future reference, could you refrrame from using this black and white blocks, it's painful to look at. Just putting everything in plain texture but using indentation for code is perfectly fine.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Robert.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
</div>
</body>
</html>