openGL着色器语言的简单阴影

时间:2014-02-21 02:31:53

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

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

通过从网上收集一些代码,我已经做到了这一点。但它非常糟糕。

另外,我需要在手机上运行,​​所以它需要非常高效。所以,是的,这个失败既有效又看起来像阴影。

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

1 个答案:

答案 0 :(得分:0)

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

我最好建议你做多个渲染过程 - 一个用于对象,另一个用于阴影。是的,它会导致透支,但如果做得好,它将比这种复杂的着色器表现更好。即使使用简单的着色器与使用循环的着色器完成,即使在2个渲染目标之间进行乒乓渲染也不是一项计算量很大的任务 - 这些任务非常慢。我们已经实现了简单的模糊,即使在 Adreno 200 上也可以非常流畅地运行。您可以在http://androidworks-kea.blogspot.com/2013/10/developers-notes-iii-simple-dof-effect.html阅读此内容,并根据您的需要采用此方法。