【问题标题】:Simple shadow on openGL shader languageopenGL着色器语言上的简单阴影
【发布时间】:2014-02-21 02:31:52
【问题描述】:

我正在处理着色器,我想制作一个非常简单的暗阴影。就像 Photoshop 在图层上所做的一样。我需要在 GLSL 上执行此操作。

通过从网络上收集零碎的代码,我已经走到了这一步。但这很糟糕。

另外,我需要它在手机上运行,​​所以它需要非常高效。所以,是的,这个在效率和看起来像影子方面都失败了。

https://www.shadertoy.com/view/4s2GDG

【问题讨论】:

    标签: opengl-es opengl-es-2.0 glsl shader shadow


    【解决方案1】:

    如果您打算在手机上运行它,则不应制作类似于所示着色器的着色器 - 这对于移动设备来说太复杂了。它有循环,这对于不是很强大的移动 GPU 来说是一种过度杀伤。

    我最好建议您执行多个渲染通道 - 一个用于对象,另一个用于阴影。是的,它会导致过度绘制,但如果处理得当,它会比这种复杂的着色器表现得更好。如果使用简单的着色器与带有循环的着色器相比,即使是 2 个渲染目标之间的乒乓渲染对于现代 GPU 来说也不是一项计算量很大的任务——这些渲染器真的很慢。我们实现了简单的模糊,即使在 Adreno 200 上也能非常流畅地运行。您可以在http://androidworks-kea.blogspot.com/2013/10/developers-notes-iii-simple-dof-effect.html 阅读有关此内容的信息,并根据您的需要采用此内容。

    【讨论】:

      猜你喜欢
      • 2013-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多