【发布时间】:2018-07-11 06:15:49
【问题描述】:
我正在尝试在 OpenGL 中编写一个延迟渲染器,它支持多种材质(不同的光照模型等)和分层材质(不同的材质混合在一起)。
我正在将材质 ID 写入 g-buffer 以及标准顶点属性 g-buffers。在第二阶段(计算光照并将其渲染到屏幕时)如何为每个像素使用不同的着色器?
我考虑过使用计算着色器为每个材质 ID 制作一个像素列表,然后从中生成四边形、点和线的混合,然后将这些网格读回 CPU 并使用它们各自的渲染它们材料。我认为这会有点慢,必须每帧读取和写入网格。
【问题讨论】: