<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div>Hi, <span style="font-family: arial; white-space: pre-wrap;">Andersen, </span></div><div><span style="font-family: arial; white-space: pre-wrap;">    Let's say you have three images, then you can wrap them using osg::Texture2D, something like this: </span></div><div>    ></div><div><span style="font-family: arial; white-space: pre-wrap;">    >osg::Image* image0 = osgDB::readImageFile("filename0.xxx");</span></div><div><span style="font-family: arial; white-space: pre-wrap;">    >osg::Texture2D* tex0 = new osg::Texture2D(image0);</span></div><div><span style="font-family: arial; white-space: pre-wrap;">    >tex1->setWrap(..., ...);</span></div><div><span style="font-family: arial; white-space: pre-wrap;">    >tex1->setFilter(..., ...);</span></div><div><span style="font-family: arial; white-space: pre-wrap;">    ></span></div><div><span style="font-family: arial; white-space: pre-wrap;"><br></span></div><div><span style="font-family: arial; white-space: pre-wrap;">   And then you can apply them in the </span><span style="font-family: arial; white-space: pre-wrap;">drawImplementation() of your drawable like this :</span></div><div><span style="font-family: arial; white-space: pre-wrap;">    ></span></div><div><span style="font-family: arial; white-space: pre-wrap;">    ></span><font face="arial"><span style="white-space: pre-wrap;">osg::State& state = *renderInfo.getState();</span></font></div><div><span style="font-family: arial; white-space: pre-wrap;">    ></span><span style="font-family: arial; white-space: pre-wrap;">state.</span><font face="arial"><span style="white-space: pre-wrap;">setActiveTextureUnit(0);</span></font>        //set texture unit 0 as current texture</div><div><font face="arial"><span style="white-space: pre-wrap;">    >tex0->apply(state</span></font><span style="font-family: arial; white-space: pre-wrap;">);</span>                        //apply texture paras to current texture</div><div><span style="font-family: arial; white-space: pre-wrap;">    >...drawQuad0...</span></div><div><span style="font-family: arial; white-space: pre-wrap;">    ></span></div><div><div><span style="font-family: arial; white-space: pre-wrap;">    >...deal with other two quads...</span></div></div><div><span style="font-family: arial; white-space: pre-wrap;">    ></span></div><div><br></div><div style="position:relative;zoom:1">--<br><div>Cheers, </div><div>---</div><div>TianZJ</div><div style="clear:both"></div></div><div id="divNeteaseMailCard"></div><br><pre><br>At 2016-12-29 07:32:01, "Aaron Andersen" <aaron@fosslib.net> wrote:
>Hello,
>
>There is some code in a library which I want to adapt for OSG. The  
>code is pretty old and uses the old style OpenGL. I don't have the  
>time it would take to rewrite this code so I would like to use the  
>GLBeginEndAdapter to make this code work with OSG.
>
>Looking at the GLBeginEndAdapter there isn't much documentation so I  
>was hoping someone could help me out. Please keep in mind my OpenGL  
>skills are lacking (which I why enjoy using a rendering engine like  
>OSG :-).
>
>I've created a subclass to the Drawable class called "MyDrawable". In  
>the drawImplementation function I'm have a couple  
>gl.Begin(GL_QUADS)/gl.End() calls to draw 3 simple rectangles. I'm  
>unsure of how to apply 3 separate textures to these 3 rectangles. From  
>reading the ShapeDrawable class it looks like the state of the  
>Drawable applies the texture to everything you draw.
>
>So how can I apply many different textures to my drawing, with 1  
>texture per shape I draw with GL_QUADS?
>
>Thank you for any insight you can provide.
>Aaron
>
>
>_______________________________________________
>osg-users mailing list
>osg-users@lists.openscenegraph.org
>http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
</pre></div><br><br><span title="neteasefooter"><p> </p></span>