Re: [osg-users] HeadUpDisplay Problem
On Mon, 2008-11-03 at 21:48 +0200, Ümit Uzun wrote: > Hi Jeremy, > > Thanks for your detailed description. You are so helpful people :) But > firstly I should examine your API and samples then I will try to > implement my target operation on it, if I can't achive, I will be glad > to help me :) > > Thanks for your all efforts. And I am waiting porting osganimation in > osgWidget api. > > But I am so thoughtful about why I can't achive simple HUD operatıion > on textured Quad, and I wonder to know the reason. >From a quick cursory glance at your example it appears you're not setting colors for the vertexes--and you may want to disable lighting. Also, I don't see you setting the binding (PER_VERTEX, OVERALL, etc). Doing that will probably clear things up, but I could be missing something. At any rate, this is the kind of tedium osgWidget aims to abstract. :) > Best Regards. > > 2008/11/3 Jeremy Moles <[EMAIL PROTECTED]> > On Mon, 2008-11-03 at 21:10 +0200, Ümit Uzun wrote: > > Hi Jeremy, > > > > Thanks for reply. My target with creating HUD display is > playing > > osgMovie imagestreamed texture in it. If I can achive this > operation > > by osgWidget I glad to use this API. And if it is possible, > which > > osgWidget sample should I glimps? Because I have never tried > osgWidget > > before except looking built-in samples in osg. > > > Here's basically all you need: > > --- > > WindowManager* wm = new WindowManager(...); > Box* box= new Box(...); > Widget*widget = new Widget(...); > ImageStream* stream = new ImageStream(...); > > widget->setImage(stream, true); > > box->addWidget(widget); > > wm->addChild(box); > > viewer.setSceneData(wm->createParentOrthoCamera(...)); > > --- > > Send me your ImageStream data directly (not over the lists) > and I'll > whip up a real example if you wish. :) > > > > Best Regards. > > > > 2008/11/3 Jeremy Moles <[EMAIL PROTECTED]> > > On Mon, 2008-11-03 at 18:56 +0200, Ümit Uzun wrote: > > > Hi Folks, > > > > > > I have tried to create HUD for textured quad. I > have read > > all about > > > archive and looked to osgHUD sample but it isn't > working for > > textured > > > quad. And same time given code works for text. I > can create > > HUD text > > > on the screen but can not create textured quad on > the > > screen. I know > > > giving lots of code isn't good for you but I will > paste all > > of them if > > > anyone want to look for find out the problem. > > > > > > I really think you should try using osgWidget; even > in it's > > very young > > stage of development, it can handle easy stuff like > this > > without a > > hitch. And, of course, I'm very responsive to > questions about > > it so > > you're bound to get the help you need (except on the > weekends, > > which I > > waste playing video games). > > > > If I have my way, all e-mails about creating custom > "HUDs" > > will be > > gone. :) > > > > > > > If created texture quad add as a child to the root > node, it > > works > > > without giving any problem. But if add as a child > to the > > osg::Camera > > > node it get visible and is seen nothing. I think > so, the > > problem is in > > > osg::Camera node which was initilazed by; > > > > > > > > /--Camera-/ > > > // create a camera to set up the projection and > model view > > matrices, > > > and the subgraph to drawn in the HUD > > >osg::ref_ptr camera = new > osg::Camera; > > > > > >// set the projection matrix > > > > > > camera->setProjectionMatrix(osg::Matrix::ortho2D(0,1280,0,1024)); > > > > > >// set the view matrix > > > > camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF); > > >camera->setView
Re: [osg-users] HeadUpDisplay Problem
Hi Jeremy, Thanks for your detailed description. You are so helpful people :) But firstly I should examine your API and samples then I will try to implement my target operation on it, if I can't achive, I will be glad to help me :) Thanks for your all efforts. And I am waiting porting osganimation in osgWidget api. But I am so thoughtful about why I can't achive simple HUD operatıion on textured Quad, and I wonder to know the reason. Best Regards. 2008/11/3 Jeremy Moles <[EMAIL PROTECTED]> > On Mon, 2008-11-03 at 21:10 +0200, Ümit Uzun wrote: > > Hi Jeremy, > > > > Thanks for reply. My target with creating HUD display is playing > > osgMovie imagestreamed texture in it. If I can achive this operation > > by osgWidget I glad to use this API. And if it is possible, which > > osgWidget sample should I glimps? Because I have never tried osgWidget > > before except looking built-in samples in osg. > > Here's basically all you need: > > --- > > WindowManager* wm = new WindowManager(...); > Box* box= new Box(...); > Widget*widget = new Widget(...); > ImageStream* stream = new ImageStream(...); > > widget->setImage(stream, true); > > box->addWidget(widget); > > wm->addChild(box); > > viewer.setSceneData(wm->createParentOrthoCamera(...)); > > --- > > Send me your ImageStream data directly (not over the lists) and I'll > whip up a real example if you wish. :) > > > Best Regards. > > > > 2008/11/3 Jeremy Moles <[EMAIL PROTECTED]> > > On Mon, 2008-11-03 at 18:56 +0200, Ümit Uzun wrote: > > > Hi Folks, > > > > > > I have tried to create HUD for textured quad. I have read > > all about > > > archive and looked to osgHUD sample but it isn't working for > > textured > > > quad. And same time given code works for text. I can create > > HUD text > > > on the screen but can not create textured quad on the > > screen. I know > > > giving lots of code isn't good for you but I will paste all > > of them if > > > anyone want to look for find out the problem. > > > > > > I really think you should try using osgWidget; even in it's > > very young > > stage of development, it can handle easy stuff like this > > without a > > hitch. And, of course, I'm very responsive to questions about > > it so > > you're bound to get the help you need (except on the weekends, > > which I > > waste playing video games). > > > > If I have my way, all e-mails about creating custom "HUDs" > > will be > > gone. :) > > > > > > > If created texture quad add as a child to the root node, it > > works > > > without giving any problem. But if add as a child to the > > osg::Camera > > > node it get visible and is seen nothing. I think so, the > > problem is in > > > osg::Camera node which was initilazed by; > > > > > > > /--Camera-/ > > > // create a camera to set up the projection and model view > > matrices, > > > and the subgraph to drawn in the HUD > > >osg::ref_ptr camera = new osg::Camera; > > > > > >// set the projection matrix > > > > > > camera->setProjectionMatrix(osg::Matrix::ortho2D(0,1280,0,1024)); > > > > > >// set the view matrix > > >camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF); > > >camera->setViewMatrix(osg::Matrix::identity()); > > > > > >// only clear the depth buffer > > >camera->setClearMask(GL_DEPTH_BUFFER_BIT); > > > > > >// draw subgraph after main camera view. > > >camera->setRenderOrder(osg::Camera::POST_RENDER); > > > > > >// add geode to the camera node as a child > > >camera->addChild( geode ); > > > > /--Camera-/ > > > > > > Best Regards. > > > -- > > > Ümit Uzun, > > > Environmental Tectonics Corporation Turkey > > > ODTU Teknokent > > > Gumus Bloklar A Blok > > > Zemin Kat Bati Cephe Suit 1 > > > 06531 ODTU > > > Ankara, Turkey > > > Tel: 90 (312) 210 17 80 > > > Fax: 90 (312) 210 17 84 > > > E-Mail: umituzun84gmailcom > > > Website: http://www.etc-turkey.com > > > > > > > /---HUD---/ > > > int main() > > > { > > >osg::Vec3 coords[] = > > >{ > > > osg::Vec3(-1, 0.f ,-1), //LL > > > osg::Vec3( 1, 0.f, -1), //LR > > > osg::Vec3( 1, 0.f, 1), //UR > > > osg::Vec3( -1, 0.f, 1) //
Re: [osg-users] HeadUpDisplay Problem
On Mon, 2008-11-03 at 21:10 +0200, Ümit Uzun wrote: > Hi Jeremy, > > Thanks for reply. My target with creating HUD display is playing > osgMovie imagestreamed texture in it. If I can achive this operation > by osgWidget I glad to use this API. And if it is possible, which > osgWidget sample should I glimps? Because I have never tried osgWidget > before except looking built-in samples in osg. Here's basically all you need: --- WindowManager* wm = new WindowManager(...); Box* box= new Box(...); Widget*widget = new Widget(...); ImageStream* stream = new ImageStream(...); widget->setImage(stream, true); box->addWidget(widget); wm->addChild(box); viewer.setSceneData(wm->createParentOrthoCamera(...)); --- Send me your ImageStream data directly (not over the lists) and I'll whip up a real example if you wish. :) > Best Regards. > > 2008/11/3 Jeremy Moles <[EMAIL PROTECTED]> > On Mon, 2008-11-03 at 18:56 +0200, Ümit Uzun wrote: > > Hi Folks, > > > > I have tried to create HUD for textured quad. I have read > all about > > archive and looked to osgHUD sample but it isn't working for > textured > > quad. And same time given code works for text. I can create > HUD text > > on the screen but can not create textured quad on the > screen. I know > > giving lots of code isn't good for you but I will paste all > of them if > > anyone want to look for find out the problem. > > > I really think you should try using osgWidget; even in it's > very young > stage of development, it can handle easy stuff like this > without a > hitch. And, of course, I'm very responsive to questions about > it so > you're bound to get the help you need (except on the weekends, > which I > waste playing video games). > > If I have my way, all e-mails about creating custom "HUDs" > will be > gone. :) > > > > If created texture quad add as a child to the root node, it > works > > without giving any problem. But if add as a child to the > osg::Camera > > node it get visible and is seen nothing. I think so, the > problem is in > > osg::Camera node which was initilazed by; > > > > > /--Camera-/ > > // create a camera to set up the projection and model view > matrices, > > and the subgraph to drawn in the HUD > >osg::ref_ptr camera = new osg::Camera; > > > >// set the projection matrix > > > camera->setProjectionMatrix(osg::Matrix::ortho2D(0,1280,0,1024)); > > > >// set the view matrix > >camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF); > >camera->setViewMatrix(osg::Matrix::identity()); > > > >// only clear the depth buffer > >camera->setClearMask(GL_DEPTH_BUFFER_BIT); > > > >// draw subgraph after main camera view. > >camera->setRenderOrder(osg::Camera::POST_RENDER); > > > >// add geode to the camera node as a child > >camera->addChild( geode ); > > > /--Camera-/ > > > > Best Regards. > > -- > > Ümit Uzun, > > Environmental Tectonics Corporation Turkey > > ODTU Teknokent > > Gumus Bloklar A Blok > > Zemin Kat Bati Cephe Suit 1 > > 06531 ODTU > > Ankara, Turkey > > Tel: 90 (312) 210 17 80 > > Fax: 90 (312) 210 17 84 > > E-Mail: umituzun84gmailcom > > Website: http://www.etc-turkey.com > > > > > /---HUD---/ > > int main() > > { > >osg::Vec3 coords[] = > >{ > > osg::Vec3(-1, 0.f ,-1), //LL > > osg::Vec3( 1, 0.f, -1), //LR > > osg::Vec3( 1, 0.f, 1), //UR > > osg::Vec3( -1, 0.f, 1) //UL > >}; > > > >osg::Vec2 tCoords[] = > >{ > > osg::Vec2(0,0), > > osg::Vec2(1,0), > > osg::Vec2(1,1), > > osg::Vec2(0,1) > >}; > > > >int numCoords = sizeof(coords) / sizeof(osg::Vec3); > >int numTexCoords = sizeof(tCoords) / sizeof(osg::Vec2); > > > > osg::ref_ptr root = new osg::Group(); > > osgViewer::Viewer viewer; > > osg::Geode *geode = new osg::Geode(); > > osg::Geometry *quad = new osg::Geometry(); > > > > quad->setVertexArray(new osg::Vec3Array(numCoo
Re: [osg-users] HeadUpDisplay Problem
Hi Jeremy, Thanks for reply. My target with creating HUD display is playing osgMovie imagestreamed texture in it. If I can achive this operation by osgWidget I glad to use this API. And if it is possible, which osgWidget sample should I glimps? Because I have never tried osgWidget before except looking built-in samples in osg. Best Regards. 2008/11/3 Jeremy Moles <[EMAIL PROTECTED]> > On Mon, 2008-11-03 at 18:56 +0200, Ümit Uzun wrote: > > Hi Folks, > > > > I have tried to create HUD for textured quad. I have read all about > > archive and looked to osgHUD sample but it isn't working for textured > > quad. And same time given code works for text. I can create HUD text > > on the screen but can not create textured quad on the screen. I know > > giving lots of code isn't good for you but I will paste all of them if > > anyone want to look for find out the problem. > > I really think you should try using osgWidget; even in it's very young > stage of development, it can handle easy stuff like this without a > hitch. And, of course, I'm very responsive to questions about it so > you're bound to get the help you need (except on the weekends, which I > waste playing video games). > > If I have my way, all e-mails about creating custom "HUDs" will be > gone. :) > > > If created texture quad add as a child to the root node, it works > > without giving any problem. But if add as a child to the osg::Camera > > node it get visible and is seen nothing. I think so, the problem is in > > osg::Camera node which was initilazed by; > > > > > /--Camera-/ > > // create a camera to set up the projection and model view matrices, > > and the subgraph to drawn in the HUD > >osg::ref_ptr camera = new osg::Camera; > > > >// set the projection matrix > >camera->setProjectionMatrix(osg::Matrix::ortho2D(0,1280,0,1024)); > > > >// set the view matrix > >camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF); > >camera->setViewMatrix(osg::Matrix::identity()); > > > >// only clear the depth buffer > >camera->setClearMask(GL_DEPTH_BUFFER_BIT); > > > >// draw subgraph after main camera view. > >camera->setRenderOrder(osg::Camera::POST_RENDER); > > > >// add geode to the camera node as a child > >camera->addChild( geode ); > > > /--Camera-/ > > > > Best Regards. > > -- > > Ümit Uzun, > > Environmental Tectonics Corporation Turkey > > ODTU Teknokent > > Gumus Bloklar A Blok > > Zemin Kat Bati Cephe Suit 1 > > 06531 ODTU > > Ankara, Turkey > > Tel: 90 (312) 210 17 80 > > Fax: 90 (312) 210 17 84 > > E-Mail: umituzun84gmailcom > > Website: http://www.etc-turkey.com > > > > > /---HUD---/ > > int main() > > { > >osg::Vec3 coords[] = > >{ > > osg::Vec3(-1, 0.f ,-1), //LL > > osg::Vec3( 1, 0.f, -1), //LR > > osg::Vec3( 1, 0.f, 1), //UR > > osg::Vec3( -1, 0.f, 1) //UL > >}; > > > >osg::Vec2 tCoords[] = > >{ > > osg::Vec2(0,0), > > osg::Vec2(1,0), > > osg::Vec2(1,1), > > osg::Vec2(0,1) > >}; > > > >int numCoords = sizeof(coords) / sizeof(osg::Vec3); > >int numTexCoords = sizeof(tCoords) / sizeof(osg::Vec2); > > > > osg::ref_ptr root = new osg::Group(); > > osgViewer::Viewer viewer; > > osg::Geode *geode = new osg::Geode(); > > osg::Geometry *quad = new osg::Geometry(); > > > > quad->setVertexArray(new osg::Vec3Array(numCoords, coords)); > > quad->setTexCoordArray(0, new osg::Vec2Array(numTexCoords, > > tCoords)); > > quad->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS, > > 0, numCoords)); > > > > geode->addDrawable(quad); > > > > osg::Image* image = osgDB::readImageFile( "RWR_256_256.bmp" ); > > if (image == NULL) > > { > > osg::notify(osg::WARN) << "Can't find texture file:" << > > std::endl; > > } > > > > osg::Texture2D* texture = new osg::Texture2D(); > > texture->setImage(image); > > texture->setWrap(osg::Texture2D::WRAP_T,osg::Texture2D::REPEAT); > > texture->setWrap(osg::Texture2D::WRAP_S,osg::Texture2D::REPEAT); > > > > osg::StateSet *stateSet = quad->getOrCreateStateSet(); > > stateSet->setTextureAttributeAndModes(0, texture, > > osg::StateAttribute::ON); > > stateSet->setMode(GL_BLEND,osg::StateAttribute::ON); > > stateSet->setMode(GL_DEPTH_TEST, osg::StateAttribute::OFF); > > stateSet->setRenderingHint(osg::StateSet::TRANSPARENT_BIN); > > > >// create a camera to set up the projection and model view > > matrices, and the subgraph to drawn in the HUD > >osg::ref_ptr camera = new osg::Camera; > > > >// set the projection matrix > >camera->setProjectionMatrix(osg::Matrix::ortho2D(0,1280,0,1024)); > > > >// set the view matrix > >camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF); > >camera->setViewMatrix(osg::Matri
Re: [osg-users] HeadUpDisplay Problem
On Mon, 2008-11-03 at 18:56 +0200, Ümit Uzun wrote: > Hi Folks, > > I have tried to create HUD for textured quad. I have read all about > archive and looked to osgHUD sample but it isn't working for textured > quad. And same time given code works for text. I can create HUD text > on the screen but can not create textured quad on the screen. I know > giving lots of code isn't good for you but I will paste all of them if > anyone want to look for find out the problem. I really think you should try using osgWidget; even in it's very young stage of development, it can handle easy stuff like this without a hitch. And, of course, I'm very responsive to questions about it so you're bound to get the help you need (except on the weekends, which I waste playing video games). If I have my way, all e-mails about creating custom "HUDs" will be gone. :) > If created texture quad add as a child to the root node, it works > without giving any problem. But if add as a child to the osg::Camera > node it get visible and is seen nothing. I think so, the problem is in > osg::Camera node which was initilazed by; > > /--Camera-/ > // create a camera to set up the projection and model view matrices, > and the subgraph to drawn in the HUD >osg::ref_ptr camera = new osg::Camera; > >// set the projection matrix >camera->setProjectionMatrix(osg::Matrix::ortho2D(0,1280,0,1024)); > >// set the view matrix >camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF); >camera->setViewMatrix(osg::Matrix::identity()); > >// only clear the depth buffer >camera->setClearMask(GL_DEPTH_BUFFER_BIT); > >// draw subgraph after main camera view. >camera->setRenderOrder(osg::Camera::POST_RENDER); > >// add geode to the camera node as a child >camera->addChild( geode ); > /--Camera-/ > > Best Regards. > -- > Ümit Uzun, > Environmental Tectonics Corporation Turkey > ODTU Teknokent > Gumus Bloklar A Blok > Zemin Kat Bati Cephe Suit 1 > 06531 ODTU > Ankara, Turkey > Tel: 90 (312) 210 17 80 > Fax: 90 (312) 210 17 84 > E-Mail: umituzun84gmailcom > Website: http://www.etc-turkey.com > > /---HUD---/ > int main() > { >osg::Vec3 coords[] = >{ > osg::Vec3(-1, 0.f ,-1), //LL > osg::Vec3( 1, 0.f, -1), //LR > osg::Vec3( 1, 0.f, 1), //UR > osg::Vec3( -1, 0.f, 1) //UL >}; > >osg::Vec2 tCoords[] = >{ > osg::Vec2(0,0), > osg::Vec2(1,0), > osg::Vec2(1,1), > osg::Vec2(0,1) >}; > >int numCoords = sizeof(coords) / sizeof(osg::Vec3); >int numTexCoords = sizeof(tCoords) / sizeof(osg::Vec2); > > osg::ref_ptr root = new osg::Group(); > osgViewer::Viewer viewer; > osg::Geode *geode = new osg::Geode(); > osg::Geometry *quad = new osg::Geometry(); > > quad->setVertexArray(new osg::Vec3Array(numCoords, coords)); > quad->setTexCoordArray(0, new osg::Vec2Array(numTexCoords, > tCoords)); > quad->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS, > 0, numCoords)); > > geode->addDrawable(quad); > > osg::Image* image = osgDB::readImageFile( "RWR_256_256.bmp" ); > if (image == NULL) > { > osg::notify(osg::WARN) << "Can't find texture file:" << > std::endl; > } > > osg::Texture2D* texture = new osg::Texture2D(); > texture->setImage(image); > texture->setWrap(osg::Texture2D::WRAP_T,osg::Texture2D::REPEAT); > texture->setWrap(osg::Texture2D::WRAP_S,osg::Texture2D::REPEAT); > > osg::StateSet *stateSet = quad->getOrCreateStateSet(); > stateSet->setTextureAttributeAndModes(0, texture, > osg::StateAttribute::ON); > stateSet->setMode(GL_BLEND,osg::StateAttribute::ON); > stateSet->setMode(GL_DEPTH_TEST, osg::StateAttribute::OFF); > stateSet->setRenderingHint(osg::StateSet::TRANSPARENT_BIN); > >// create a camera to set up the projection and model view > matrices, and the subgraph to drawn in the HUD >osg::ref_ptr camera = new osg::Camera; > >// set the projection matrix >camera->setProjectionMatrix(osg::Matrix::ortho2D(0,1280,0,1024)); > >// set the view matrix >camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF); >camera->setViewMatrix(osg::Matrix::identity()); > >// only clear the depth buffer >camera->setClearMask(GL_DEPTH_BUFFER_BIT); > >// draw subgraph after main camera view. >camera->setRenderOrder(osg::Camera::POST_RENDER); > >// add geode to the camera node as a child >camera->addChild(geode); > >// add camera to the root node as a child >root->addChild(camera.get()); > >viewer.setSceneData(root.get()); >viewer.setCameraManipulator(new osgGA::TrackballManipulator()); > >viewer.run(); > >return 0; > } > /---HUD--
[osg-users] HeadUpDisplay Problem
Hi Folks, I have tried to create HUD for textured quad. I have read all about archive and looked to osgHUD sample but it isn't working for textured quad. And same time given code works for text. I can create HUD text on the screen but can not create textured quad on the screen. I know giving lots of code isn't good for you but I will paste all of them if anyone want to look for find out the problem. If created texture quad add as a child to the root node, it works without giving any problem. But if add as a child to the osg::Camera node it get visible and is seen nothing. I think so, the problem is in osg::Camera node which was initilazed by; /--Camera-/ // create a camera to set up the projection and model view matrices, and the subgraph to drawn in the HUD osg::ref_ptr camera = new osg::Camera; // set the projection matrix camera->setProjectionMatrix(osg::Matrix::ortho2D(0,1280,0,1024)); // set the view matrix camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF); camera->setViewMatrix(osg::Matrix::identity()); // only clear the depth buffer camera->setClearMask(GL_DEPTH_BUFFER_BIT); // draw subgraph after main camera view. camera->setRenderOrder(osg::Camera::POST_RENDER); // add geode to the camera node as a child camera->addChild( geode ); /--Camera-/ Best Regards. -- Ümit Uzun, Environmental Tectonics Corporation Turkey ODTU Teknokent Gumus Bloklar A Blok Zemin Kat Bati Cephe Suit 1 06531 ODTU Ankara, Turkey Tel: 90 (312) 210 17 80 Fax: 90 (312) 210 17 84 E-Mail: umituzun84gmailcom Website: http://www.etc-turkey.com /---HUD---/ int main() { osg::Vec3 coords[] = { osg::Vec3(-1, 0.f ,-1), //LL osg::Vec3( 1, 0.f, -1), //LR osg::Vec3( 1, 0.f, 1), //UR osg::Vec3( -1, 0.f, 1) //UL }; osg::Vec2 tCoords[] = { osg::Vec2(0,0), osg::Vec2(1,0), osg::Vec2(1,1), osg::Vec2(0,1) }; int numCoords = sizeof(coords) / sizeof(osg::Vec3); int numTexCoords = sizeof(tCoords) / sizeof(osg::Vec2); osg::ref_ptr root = new osg::Group(); osgViewer::Viewer viewer; osg::Geode *geode = new osg::Geode(); osg::Geometry *quad = new osg::Geometry(); quad->setVertexArray(new osg::Vec3Array(numCoords, coords)); quad->setTexCoordArray(0, new osg::Vec2Array(numTexCoords, tCoords)); quad->addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS, 0, numCoords)); geode->addDrawable(quad); osg::Image* image = osgDB::readImageFile( "RWR_256_256.bmp" ); if (image == NULL) { osg::notify(osg::WARN) << "Can't find texture file:" << std::endl; } osg::Texture2D* texture = new osg::Texture2D(); texture->setImage(image); texture->setWrap(osg::Texture2D::WRAP_T,osg::Texture2D::REPEAT); texture->setWrap(osg::Texture2D::WRAP_S,osg::Texture2D::REPEAT); osg::StateSet *stateSet = quad->getOrCreateStateSet(); stateSet->setTextureAttributeAndModes(0, texture, osg::StateAttribute::ON); stateSet->setMode(GL_BLEND,osg::StateAttribute::ON); stateSet->setMode(GL_DEPTH_TEST, osg::StateAttribute::OFF); stateSet->setRenderingHint(osg::StateSet::TRANSPARENT_BIN); // create a camera to set up the projection and model view matrices, and the subgraph to drawn in the HUD osg::ref_ptr camera = new osg::Camera; // set the projection matrix camera->setProjectionMatrix(osg::Matrix::ortho2D(0,1280,0,1024)); // set the view matrix camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF); camera->setViewMatrix(osg::Matrix::identity()); // only clear the depth buffer camera->setClearMask(GL_DEPTH_BUFFER_BIT); // draw subgraph after main camera view. camera->setRenderOrder(osg::Camera::POST_RENDER); // add geode to the camera node as a child camera->addChild(geode); // add camera to the root node as a child root->addChild(camera.get()); viewer.setSceneData(root.get()); viewer.setCameraManipulator(new osgGA::TrackballManipulator()); viewer.run(); return 0; } /---HUD---/ ___ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org