Re: [osg-users] HeadUpDisplay Problem

2008-11-03 Thread Jeremy Moles
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

2008-11-03 Thread Ümit Uzun
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

2008-11-03 Thread Jeremy Moles
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

2008-11-03 Thread Ümit Uzun
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

2008-11-03 Thread Jeremy Moles
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

2008-11-03 Thread Ümit Uzun
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