[osg-users] Can i use MatrixTransform to transform a HUD node?
    Chen Gao 
    gaochen010 at sina.com
       
    Mon Jan  7 03:48:56 PST 2019
    
    
  
Thank you Terry! 
     So you mean that if i want to move or scale these hud nodes on the main screen, i have to use the camera's setviewmatrix method to do this? Add the hud nodes to a new MT and use the Mt transform methods won't work,right?
     The node structure instruction is like the following:
      1. Root->hud node->Mt node->geode node->geometries;
      2. Root->Mt node-> hud node->geode node->geometries;
    So the first one will work and the second won't,right?  
        
Terry Welsh wrote:
> I have made plenty of HUD classes derived from osg::Camera. It's easy
> to set it up as an orthographic or perspective projection, depending
> on what look you're going for. Then I compute some simple coordinates
> for the screen corners like this:
> 
> mHUDLRBT[0] = -mAspectRatio;
> mHUDLRBT[1] = mAspectRatio;
> mHUDLRBT[2] = -1.0f;
> mHUDLRBT[3] = 1.0f;
> if(mAspectRatio < 1.0f){
> mHUDLRBT[0] = -1.0f;
> mHUDLRBT[1] = 1.0f;
> mHUDLRBT[2] = -1.0f / mAspectRatio;
> mHUDLRBT[3] = 1.0f / mAspectRatio;
> }
> 
> All your HUD nodes (such as osgText::Text or something derived from
> MatrixTransform) can be positioned relative to those screen corners.
> Every time you resize your window you should call your HUD nodes
> positioning method.
> - Terry
> 
------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=75398#75398
    
    
More information about the osg-users
mailing list