【问题标题】:How to Render 2D Sprites with Deferred Shading如何使用延迟着色渲染 2D 精灵
【发布时间】:2012-03-26 08:13:10
【问题描述】:

使用延迟着色,您有多个缓冲区来保存深度、法线等信息。

在最后阶段,您只需要“组合”它们并处理光照,但是当您需要为 GUI 渲染 2D 精灵时,它是如何完成的?

您是否需要为此使用前向渲染?还是我必须为此使用单独的缓冲区?

另外,在现有的前向渲染器上实现延迟渲染需要什么?它是替换代码还是建立在它之上,所以我只需要更多的缓冲区和其他着色器? (因为我仍然需要移动设备的前向渲染器)

【问题讨论】:

  • 注意:Stack Overflow 不使用像 <p> 和 <br> 这样的 HTML 标签。请参阅相应的 SO 格式帮助页面。
  • 在帖子的预览中,似乎

    和
    有效,而且我在这里一直是格式化文本的方式,所以我现在很困惑。

  • 格式化帮助页面说我可以使用 HTML 标签,如

    和

标签: opengl graphics rendering deferred-rendering


【解决方案1】:

您只需在完成着色后渲染您的 2D 元素。

不,我真的不明白“在现有的前向渲染器上”实现延迟渲染有什么意义,因为它们以非常不同的方式做事。

【讨论】:

  • 在着色后渲染它们,你的意思是我以延迟渲染方式渲染它们,以便我需要从精灵中保存法线等?还是以正向渲染器方式?对于这样的事情,我需要再次保留前向渲染器,为什么我要问除了缓冲区设置和着色之外,延迟渲染器有什么不同..
  • @Pillum:你只是画它们。这真的没有什么特别的。 OpenGL 不是场景图,你可以在两者之间切换你做事的方式。如果您的延迟着色器保持深度缓冲区完好无损,您甚至可以在之后进行一些前向渲染。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-23
相关资源
最近更新 更多