【发布时间】:2013-05-28 07:38:07
【问题描述】:
我正在尝试使用顶点片段着色器创建水面厚度的效果。
我在 3D 游戏环境中,但它是滚动视图,因此是“2D”视图。
Here 是使用片段着色器在真实 2D 中创建此类效果的好教程。
但我认为这不能用于我的情况。
目前我只有一架飞机,如果我应用折射的话。
我想应用水的厚度效果。但我不知道该怎么做。
我暂时不尝试使用顶点创建一些水变形/位移,这不是重点。
我不知道是否可以使用简单的四边形也许我应该使用这样的对象。
这里有一些例子。
非常感谢!
[编辑] 添加雷曼水效果,以便更好地参考效果。
【问题讨论】:
-
您为什么认为这种效果是“在一个简单的四边形上”创建的?
-
对不起,我说错了,我的意思是我已经制作了一个带有折射的着色器并且它被应用到了一个四边形上。我想知道在这种情况下我如何才能发挥这种效果。
-
这些图片都没有显示任何refraction。
-
我知道,我不是在谈论折射效果。我已经这样做了。这里我只说顶层水面的厚度。现在我只是有我的四边形的直线边界。你懂我的意思吗 ?而且我不知道如何创建这种厚度效果。
-
@MaT:水面没有“厚度”(至少没有可见的厚度)。您所说的“厚度”实际上是水和容器/玻璃之间的半月板(en.wikipedia.org/wiki/Meniscus)的总内部折射的结果。你不能只用一个四边形来做到这一点。您必须渲染复杂的水面才能获得这种效果。
标签: opengl directx unity3d shader hlsl