纹理坐标的设置:设置该几何体的顶点(按顺序)所对应纹理图片上的哪一处位置(二维XY坐标均默认为0.0~1.0)
texture->setImage(image); //设置纹理图片 //纹理环绕:当纹理坐标超出默认范围(0.0~1.0)时,该怎么输出(还有CLAMP_TO_EDGE,CLAMP_TO_BORDER) texture->setWrap(osg::Texture2D::WRAP_S, osg::Texture2D::REPEAT); //X轴,重复(默认) texture->setWrap(osg::Texture2D::WRAP_T, osg::Texture2D::MIRROR); //Y轴,镜像 //纹理过滤:例,当有一个很大的物体但是纹理的分辨率很低的时候 texture->setFilter(osg::Texture2D::MIN_FILTER, osg::Texture2D::NEAREST); //设置纹理被缩小时的纹理过滤方式(默认最邻近) texture->setFilter(osg::Texture2D::MAG_FILTER, osg::Texture2D::LINEAR); //设置纹理被放大时的纹理过滤方式使用qt5的库来编译OSGQT的组件时,需要修改osg根目录下的Cmakelist.txt文件(非常重要),添加如下两句(在文件开始添加即可)set(DESIRED_QT_VERSION "5" CACHE STRING "")set(CMAKE_PREFIX_PATH "C:\Qt\Qt5.3.1\5.3\msvc2010_opengl" CACHE PATH "")(注意上面的路径修改成你QT5安装的路径)重新打开cmake-gui,设置源代码和工程目录
set(DESIRED_QT_VERSION "5" CACHE STRING "")set(CMAKE_PREFIX_PATH "C:\Qt\Qt5.3.1\5.3\msvc2010_opengl" CACHE PATH "")(注意上面的路径修改成你QT5安装的路径)重新打开cmake-gui,设置源代码和工程目录
V = V'·(Mn·Mn-1·...·M1·M0)-1 = V'·M0-1·M1-1·...·Mn-1
OSG采用Node类来表达一个基本节点,也就是作为所有类型的场景节点的基类,它需要一个BoundingSphere类来表达自己的包围球形体,并且需要一些方法来实时更新包困球的大小和位置。当某个节点的子节点发生变化时(删除,新增,改变自身包围体形状),需要重新计算该节点的包围球数据,并递归到场景的根节点,以便维护场景BVH(包围体层次)树的可用性。