Point4F color){#if1// 设置透明度// 步骤一:获取状态集osg::ref_ptr<osg::StateSet> pStateSet = pNode->getOrCreateStateSet();// 步骤二:状态集 设置深度测试开启,确保透明的物体深度测试开启pStateSet->setMode(GL_DEPTH_TEST, osg::StateAttribute::ON);// 步骤三:创建材质实例osg::ref_ptr<osg:...
步骤二:开启深度测试 // 步骤二:状态集 设置深度测试开启,确保透明的物体深度测试开启pStateSet->setMode(GL_DEPTH_TEST, osg::StateAttribute::ON); 步骤三:创建材质实例 // 步骤三:创建材质实例osg::ref_ptr<osg::Material> pMaterial = new osg::Material; 步骤四:设置材质颜色(理论上这的a无效) // 步...
OSG的透明排序机制可以帮助处理这个问题,但在某些复杂场景中,你可能需要手动控制渲染顺序。 深度写入(GL_DEPTH_WRITEMASK)和深度测试(GL_DEPTH_TEST)的设置会影响透明对象的渲染效果。 混合模式(osg::BlendFunc)的设置会影响透明对象与背景或其他对象的混合方式。 通过上述步骤,应该能够在OpenSceneGraph中实现基本...
OSG的透明排序机制可以帮助处理这个问题,但在某些复杂场景中,你可能需要手动控制渲染顺序。 深度写入(GL_DEPTH_WRITEMASK)和深度测试(GL_DEPTH_TEST)的设置会影响透明对象的渲染效果。 混合模式(osg::BlendFunc)的设置会影响透明对象与背景或其他对象的混合方式。 通过上述步骤,应该能够在OpenSceneGraph中实现基本...
使用glEnable(GL_DEPTH_TEST)启用; 在默认情况是将需要绘制的新像素的z值与深度缓冲区中对应位置的z值进行比较,如果比深度缓存中的值小,那么用新像素的颜色值更新帧缓存中对应像素的颜色值。 但是可以使用glDepthFunc(func)来对这种默认测试方式进行修改。
glDisable(GL_DEPTH_TEST);//关闭深度测试,也就是在渲染一个像素的时候会检查当前像素的前面是否还有像素如果别的像素挡道了它,那它就不会绘制 glEnable(GL_BLEND);//开启混合渲染,把同一位置的前一个像素和后一个像素进行叠加后显示.所以透明渲染会影响渲染速度 ...
state->setMode(GL_DEPTH_TEST,osg::StateAttribute::ON); state->setRenderingHint(osg::StateSet::TRANSPARENT_BIN); //使用BlendFunc实现透明效果 osg::BlendColor* bc =new osg::BlendColor(osg::Vec4(1.0,1.0,1.0,0.0)); osg::BlendFunc*bf = new osg::BlendFunc(); ...
glEnable( GL_DEPTH_TEST ); glEnable( GL_LIGHTING ); glEnable( GL_LIGHT0 );// Windowosg::GLUTWindowPtr gwin; GLint glvp[4]; glGetIntegerv( GL_VIEWPORT, glvp ); gwin = osg::GLUTWindow::create(); gwin->setId(winid); gwin->setSize( glvp[2], glvp[3] ); ...
->setMode(GL_DEPTH_TEST,osg::StateAttribute::OFF);//管理深度测试 //设置渲染顺序,第一个参数越小,渲染越靠前,默认第一个参数为 -1 state->setRenderBinDetails(10, "RenderBin"); //默认渲染排序 state->setRenderBinDetails(100,"DepthSortedBin"); //由远到近 ...
pStateSet->setMode(GL_DEPTH_TEST, osg::StateAttribute::OFF); } // 创建背景图形图片 { // 步骤一:创建几何信息体 osg::ref_ptr<osg::Geometry> pGeometry = new osg::Geometry; // 步骤二:绑定顶点 osg::ref_ptr<osg::Vec3Array> pVec3Array = new osg::Vec3Array; ...