使用Polygon Offset解决Z-fighting和stitching
来源:互联网 发布:短信群发软件106 编辑:程序博客网 时间:2024/05/17 23:36
在OpenGL中,如果想绘制一个多边形同时绘制其边界,可是先使用多边形模式GL_FILL绘制物体,然后使用多边形模式GL_LINE和不同的颜色再次绘制这个多边形。但是由于直线和多边形的光栅化方式不同,导致位于同一位置的多边形和直线的深度值并不相同,进而导致直线有时在多边形的里面,有时在多边形的外面,这种现象就是“Sitching”。
而Z-fighting主要是指当两个面共面时,二者的深度值一样,深度缓冲就不能清楚的将它们两者分离开来,位于后面的图元上的一些像素就会被渲染到前面的图元上,最终导致图象在帧与帧之间产生微弱的闪光。
解决这两个问题的方法就是使用Polygon Offset,当然你也可以使用模板测试,但Polygon Offset的速度会比模板缓存快。
//绘制多边形
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
Draw3D();
glEnable(GL_POLYGON_OFFSET_LINE);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
Draw3D();
glEnable(GL_POLYGON_OFFSET_LINE);
// glEnable(GL_POLYGON_OFFSET_FILL);
glPolygonOffset( factor, units);
glPolygonOffset( factor, units);
// glPolygonOffset( factor, units)中factor和units的值视情况而定,具体可参考MSDN.
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
Draw3D();
glPolygonOffset( 0.0f, 0.0f );
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glDisable( GL_POLYGON_OFFSET_LINE );
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
Draw3D();
glPolygonOffset( 0.0f, 0.0f );
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
glDisable( GL_POLYGON_OFFSET_LINE );
// glDisable( GL_POLYGON_OFFSET_FILL);
- 使用Polygon Offset解决Z-fighting和stitching
- 用Polygon Offset解决z-fighting和stitching问题
- [OpenGL][SharpGL]用Polygon Offset解决z-fighting和stitching问题
- offset 是 z-fighting
- ShaderLab Tutorials-Z-Fighting and Offset
- 使用Z-Bias解决Z-Fighting问题的替代方案 Alternatives to Using Z-Bias to Fix Z-Fighting Issues
- Z - Fighting 和 Depth-bias
- z-fighting在unity中的解决方式
- z-fighting
- Z-fighting
- Shader Depth Offset [Polygon Offset]
- 关于深度冲突(Z-Finghting or Depth Fighting)的解决
- OpenGL: 深度冲突(Z-Finghting or Depth Fighting)的解决
- 关于深度冲突(Z-Finghting or Depth Fighting)的解决
- 关于深度冲突(Z-Finghting or Depth Fighting)的解决
- OpenGL: 深度冲突(Z-Finghting or Depth Fighting)的解决
- opengl Polygon Offset
- Z-fighting (深度冲突)
- 每个.Net开发者现在应该下载的十个必备工具!
- tomcat5.5配置
- 懒人的工具系列一:Digester
- 升级了DevExpress全系列组件
- 心中 - 我的宝贝 - 幼儿园开学
- 使用Polygon Offset解决Z-fighting和stitching
- 利用CSVDE命令实现域用户账户的批量添加示例
- 介绍几款所见即所得的WEB在线编辑器
- flash 8组件篇:list组件
- 设计自己的Annotation
- 七款HTML在线编辑器[下载]
- .htaccess使用指南
- asp.net各文件和文件夹的作用
- vba文件操作