2014-02-21 27 views
1

我正在处理着色器,我想做一个非常简单的一个沉闷的阴影。就像photoshop在图层上一样。我需要在GLSL上做到这一点。简单的阴影在OpenGL着色器语言

我已经从网上收集了一些代码。但这很糟糕。

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

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

回答

0

如果你想在手机上,你不应该让着色器类似于显示一个运行这一点 - 它的方式,对于移动设备过于复杂。它具有循环,对于不是很强大的移动GPU来说是过度的。

我最好推荐你做多个渲染通道 - 一个用于对象,另一个用于阴影。是的,它会导致透支,但如果正确完成,它将比这种复杂的着色器更好地执行。即使在2个渲染目标之间进行乒乓渲染,对于现代GPU来说也不是一个非常计算繁重的任务,如果使用简单着色器与带有循环的着色器进行比较 - 这些实际上很慢。我们实现了简单的模糊,即使在Adreno 200上运行也很顺利。你可以在这里阅读关于这个http://androidworks-kea.blogspot.com/2013/10/developers-notes-iii-simple-dof-effect.html并采用此为您的需求。