opengl-es - 如何在 OpenGL ES 中将深度缓冲区 "push"后退一点?

标签 opengl-es 3d matrix

我正在尝试使用此方法绘制 3D 对象的轮廓:

  1. 绘制实际对象

  2. 绘制轮廓(多边形的 GL_LINE),但稍微靠后。

但是,使用“将其稍微向后移动”的方法在 3D 环境中效果不佳,因为投影矩阵会稍微倾斜一些。

有没有办法改变投影矩阵,让它把东西放得更靠后一点?我尝试改变投影矩阵的 z 部分,但现在才想起投影矩阵并不真正像普通矩阵那样工作。

我想 glDepthTestOffset 的存在将解决所有这些问题。

最佳答案

您可以使用 glPolygonOffset抵消对象的轮廓。

关于opengl-es - 如何在 OpenGL ES 中将深度缓冲区 "push"后退一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5801286/

相关文章:

python - 从 C 访问 Numpy 矩阵作为 3D 数组

c - 如何使用基地址在 C 中打印二维矩阵的元素?

Rcpp Armadillo : Complex matrix inverse compilation error

Android studio NDK 未定义对 GL 函数的引用

opengl-es - 检查对象是否可见

objective-c - OpenGL ES 1.1 顶点缓冲对象不工作

C 用值初始化 3D 数组

math - 相机平移向量 - 与旋转矩阵的关系

android - 半透明纹理在不同的安卓手机上看起来不同

algorithm - Fortran 算法帮助 - 得到错误的结果