【发布时间】:2014-11-08 18:07:46
【问题描述】:
目前正在制作游戏,我想添加漂亮的着色器效果,例如水扭曲。 我将场景渲染到 FBO,然后在其上应用高度图失真着色器。 失真由片段着色器应用。 normalMapPosition 是法线贴图当前位置的颜色向量。
vec2 normalCoord = v_texCoord0;
vec4 normalMapPosition = 2 * texture2D(u_normals, v_texCoord0);
vec2 distortedCoord = normalCoord + (normalMapPosition.xz * 0.05);
然后将其渲染到屏幕上,我得到以下结果
问题是有一个对角线伪影穿过整个图像。 我认为这是由于openGL将纹理处理为两个三角形。 有没有很好的方法来处理这类问题?
【问题讨论】: