【发布时间】:2011-01-22 23:59:38
【问题描述】:
我目前正在使用 Z-Buffer 算法实现自己的渲染器。一旦我完成了必要的计算(阅读:我的 Z-Buffer 填充了正确的值),我使用 SDL 为必要的像素着色。我为此使用了 HWSurface。
我的问题是,我怎样才能尽可能快地渲染它?我的意思是绘图本身,我可以对我的结构、算法进行优化,我稍后会这样做,但我想确保绘图本身尽可能快。
因为我有自己的 ZBuffer 实现(以后还会有其他算法)我不能使用 OpenGL,所以有什么替代方案吗?
现在我将检查 z 缓冲区中的所有点,并逐一绘制所有必须绘制的像素(因为它是 z 缓冲区,所以我必须这样做,对吗?)和我调用了 DrawPixel 方法。关于 SDL,我在通过 z 缓冲区之前锁定我的表面,绘制所有像素然后解锁它,据我所知,这不能更快。
有什么建议吗?
【问题讨论】:
-
你可以通过更新纹理来“绘制”这个,然后使用 opengl 用纹理绘制一个四边形吗?
-
我要去看看这个,还不确定。
标签: c++ rendering graphics zbuffer