【发布时间】:2019-08-16 06:38:19
【问题描述】:
我想重新创建名为“内阴影”的 Photoshop 效果作为纹理着色器。作为起点,我以“大纲”为例,但我不知道下一步该做什么,或者如何创建它。请问有人可以分享一些代码示例或者可以帮助修改这个着色器以获得内部阴影效果吗?
varying vec2 v_texCoord;
varying vec4 v_fragmentColor;
uniform vec3 u_outlineColor;
uniform float u_threshold;
uniform float u_radius;
void main()
{
float radius = u_radius;
vec4 accum = vec4(0.0);
vec4 normal = vec4(0.0);
normal = texture2D(CC_Texture0, vec2(v_texCoord.x, v_texCoord.y));
accum += texture2D(CC_Texture0, vec2(v_texCoord.x - radius, v_texCoord.y - radius));
accum += texture2D(CC_Texture0, vec2(v_texCoord.x + radius, v_texCoord.y - radius));
accum += texture2D(CC_Texture0, vec2(v_texCoord.x + radius, v_texCoord.y + radius));
accum += texture2D(CC_Texture0, vec2(v_texCoord.x - radius, v_texCoord.y + radius));
accum *= u_threshold;
accum.rgb = u_outlineColor * accum.a;
accum.a = 0.0;
normal = ( accum * (1.0 - normal.a)) + (normal * normal.a);
gl_FragColor = v_fragmentColor * normal;
}
【问题讨论】:
-
欢迎来到 Stackoverflow.com!请收看the tour 看看如何ask a good question 来更好地了解这里的主题。到目前为止,您的帖子中根本没有任何问题,因此无法回答。
-
对不起,你能帮我提供一些代码示例来创建内部阴影着色器吗?