本文主要是介绍osg::Viewport解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
osg::Viewport视口类继承自osg::StateAttribute状态属性类
首先,条件编译value_type为int活double
四个保护型属性_x,_y,_width,, _height分别表示视口的左上点x,y坐标,视口的宽高
方法:
//设置视口(inline内联(像宏一样展开),没有了调用的开销,效率更高)
inline void setViewport(value_type x,value_type y,value_type width,value_type height)
//获取视口(const使得方法无法修改属性,很好封装)
void getViewport(int& x,int& y,int& width,int& height) const
void getViewport(double& x,double& y,double& width,double& height) const
//获取四个属性的方法
...
//视口可行判断
inline bool valid() const { return _width>0 && _height>0; }
//宽高比
inline double aspectRatio() const { if (_height!=0) return (double)_width/(double)_height; else return 1.0; }
//使用公式v_window = v_local * MVPW matrix转换局部坐标到窗口坐标(其中MVPW是ModelViewMatrix * ProjectionMatrix * WindowMatrix)
inline const osg::Matrix computeWindowMatrix() const
这篇关于osg::Viewport解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!