[C ++ OpenGL渲染引擎

问题描述 投票:0回答:1

OpenGL渲染引擎

我正在尝试使用OpenGL和c ++开发自定义渲染引擎。到目前为止,我已经成功实现了一个渲染批处理的渲染器。渲染批处理可以将对象推送到该批处理上,并且一旦渲染类调用了draw函数,渲染批处理将绘制所有推送到该批处理中的元素。

到目前为止,一切正常,但是应该尝试为渲染批处理实现后处理选项。这意味着每个批处理都会有一个FBO并绘制到该FBO,然后在draw调用上将FBO的纹理绘制到屏幕上,我设法实现了此功能,但仅当您将单个渲染批处理推送到渲染器时,此功能才有效您可以将更多的内容推到它上面,最后渲染的渲染批处理仅出现在屏幕上。我认为这是因为每个批次的纹理相互堆叠,并且仅显示最后一个纹理,因为它位于所有其他纹理的顶部。

有人可以告诉我一种方法来解决或解决此问题,或提出更好的系统吗?

谢谢

OpenGL渲染引擎,我正在尝试使用OpenGL和c ++开发自定义渲染引擎。到目前为止,我已经成功实现了一个渲染批处理的渲染器。渲染批处理可以具有...

c++ opengl graphics renderer post-processing
1个回答
0
投票

叠加渲染图像时,需要考虑点的深度。如果没有深度测试,则最后渲染的对象将位于顶部。可能的解决方案是使用其他深度图。示例实现:

© www.soinside.com 2019 - 2024. All rights reserved.