OpenGL ES2.0 용 GLSL에서 프래그먼트 셰이더를 작성하는 데 익숙하지 않고 주어진 그래픽에 베벨 효과를 생성하는 프래그먼트 셰이더를 만들려고합니다. 여기에 지금까지 을 할 수있었습니다 무엇 (단지 경사 효과가 적용되는 상단 부분에 보면, 낮은 벽 및 기타 텍스처를 무시) : 여기Open GL ES 2.0에서 적절한 경사 효과 조각 쉐이더를 만드는 방법은 무엇입니까?
하면 원하는 무엇 결과는해야한다 : 대각선에서 음영의 차이
주의, 그들은 더 가볍게 수평 가장자리보다 음영. 대각선 모서리에서 수평 또는 수직으로의 전환을 확인하십시오. 또한 경사의 두께에 주목하십시오. 가능한 한이 원하는 결과에 가까워지고 싶습니다.
는 지금 내가 사용하고 프래그먼트 쉐이더 여기에, 매우 간단 코드입니다 :
#ifdef GL_ES
precision mediump float;
#endif
varying vec2 v_texCoord;
uniform sampler2D s_texture;
uniform float u_time;
void main()
{
vec2 onePixel = vec2(0, 1.0/640.0);
vec2 texCoord = v_texCoord;
vec4 color;
color.rgb = vec3(0.5);
color += texture2D(s_texture, texCoord - onePixel) * 5.0;
color -= texture2D(s_texture, texCoord + onePixel) * 5.0;
color.rgb = vec3((color.r + color.g + color.b)/3.0);
gl_FragColor = vec4(color.rgb, 1);
}
는 내가 원하는 효과를 만들어 내 쉐이더에 추가 할 필요가?
안녕하세요, Eddy, 어떻게 해결 했습니까? –