-
pt100换算表-多边形偏移
资源介绍
5.9 多边形偏移
通过上一节读者已经了解到,在 3D 绘制时如果两个面距离很近,有可能会出现深度计算不
准确的问题。此时可以通过修改透视参数在一定程度上缓解此问题。但如果不能修改透视参数,
或者两个面已经完全重叠,那么上一节所介绍的解决问题的方法就可能没有作用了。
OpenGL ES 在设计时也考虑到了这个问题,其中提供了一种可以方便解决此问题的策略—
多边形偏移。使用多边形偏移时,需要调用 glPolygonOffset 方法,其方法签名如下。
1 public static void glPolygonOffset (float factor, float units)
说明
参数 factor 为自定义的,用于计算深度值的比例;参数 units 为自定义的,用于
计算深度值的单位。
具体来说,所谓多边形偏移就是在绘制时对深度值的计算进行扰动,以获得正确的遮挡效果。
使用上述 glPolygonOffset 方法中的两个参数进行深度偏移的计算公式如下。
深度偏移值=m* factor+r* units
在上述公式中,除了 glPolygonOffset 方法中的两个参数 factor 和 units 外,又多了两个参数 m
和 r,具体含义如下。
m 是三角形的最大深度斜率,计算方法如下:
2 2( / / )m z x z y= ∂ ∂ + ∂ ∂ 或者 max{| / |,| / |}m z x z y= ∂ ∂ ∂ ∂
- 上一篇: 卷绕和背面剪裁-pt100换算表
- 下一篇: 基本光照效果-pt100换算表