在OSG场景中,采用HUD抬头显示来显示模型的运动参数,但是运行的时候发现HUD出现重复投射的现象,如图中红线框中所示。
抬头显示的CreateHUDText函数如下:
// 创建HUD抬头显示文字
osg::Projection* cOSG::CreateHUDText(void)
{// 获取屏幕尺寸RECT rect;int rect_width,rect_height;// Get the current window size::GetWindowRect(m_hWnd, &rect);rect_width = rect.right - rect.left;rect_height = rect.bottom - p;// 投影节点用于定义HUD的视景体(view frustrum)osg::Projection* HUDProjectionMatrix = new osg::Projection;// 投影矩阵的水平和垂直范围与屏幕尺寸相同,// 因此该节点子树中的位置坐标将等同于像素坐标HUDProjectionMatrix->setMatrix(osg::Matrix::ortho2D(0,rect_width,0,rect_height));// HUD模型观察矩阵应使用单位矩阵osg::MatrixTransform* HUDMode
本文发布于:2024-02-04 10:55:56,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170705575654946.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |