1

对于一个项目,我想实现我自己的 Z 缓冲区。我知道算法以及如何实现它。因为我不想编写我计划使用 OpenGL 的整个图形引擎,所以问题是,如何将我自己的算法与 openGL 结合起来?

我在某处读到我可以自己计算所有内容,然后将每个像素的数据传递给 GLDrawPixels() 但这似乎有点矫枉过正。关键是我不想实现三角测量算法等。

我的目标是使用 openGL 直到线框,然后使用我自己的 z-buffer 算法,然后再次使用 openGL 绘制最终图片。(对于我的项目,z-buffer 是唯一重要的东西,包括光线和阴影)。有没有办法可以做到这一点,还是我必须自己实现所有内容并让openGL画出最终结果?

真挚地

4

1 回答 1

2

您可以通过“手动”计算它们的距离来将要绘制的顶点的颜色设置为它们的 z 值。但我认为可以将 z-buffer 绑定为纹理,然后绘制一个带有 z-buffer 纹理的大四边形覆盖屏幕。

于 2010-11-05T23:07:26.657 回答