在对HUD菜单进行生成时,遇到了文本和背景不能同时显示的情况。郁闷了一晚上,找到了问题所在。
文本OSG::TEXT和背景OSG::geometry都隶属于osg::geode节点,geode节点又隶属于osg::camera节点。三者在设置位置关系时,注意如下:
1 osg::camera
setProjectionMatrixAsOrtho2D(左,右,上,下) 左右上下为像素的大小,正视投影的大小
setViewport(左下x,左下y,宽,高)其中左下点坐标为世界坐标系中的绝对坐标值,表示该相机左下的起始位置
2 osg::text
setPosition(x,y,z)其中x,y为相对于camera坐标系的相对坐标值,
3 osg::geometry
在geometry中增加的顶点的坐标为相对于camera坐标系的相对坐标值