coverflows에 사용 된 이미지와 비슷한 이미지를 생성하는 셰이더를 작성하고 싶습니다.GLSL Shader - Coverflow 2D 오브젝트의 반사
// Vertex Shader
uniform highp mat4 u_modelViewMatrix;
uniform highp mat4 u_projectionMatrix;
attribute highp vec4 a_position;
attribute lowp vec4 a_color;
attribute highp vec2 a_texcoord;
varying lowp vec4 v_color;
varying highp vec2 v_texCoord;
mat4 rot = mat4(-1.0, 0.0, 0.0, 0.0,
0.0, -1.0, 0.0, 0.0,
0.0, 0.0, 1.0, 0.0,
0.0, 0.0, 0.0, 1.0);
void main()
{
gl_Position = (u_projectionMatrix * u_modelViewMatrix) * a_position * rot;
v_color = a_color;
v_texCoord = a_texcoord;
}
// Fragment Shader
varying highp vec2 v_texCoord;
uniform sampler2D u_texture0;
uniform int slices;
void main()
{
lowp vec3 w = vec3(1.0,1.0,1.0);
lowp vec3 b = vec3(0.0,0.0,0.0);
lowp vec3 mix = mix(b, w, (v_texCoord.y-(float(slices)/10.0)));
gl_FragColor = texture2D(u_texture0,v_texCoord) * vec4(mix, 1.0);
}
그러나이 쉐이더는 다음과 만드는 : current result 을 그리고 내가 회전 행렬에 너무 많은 다른 매개 변수를 시도하는 방법을 "플립"이미지 수평 몰라 (난 소위를 사용하려고 "거울 매트릭스") 그러나 나는 원래 이미지의 바닥에 이미지를 반영하는 방법을 모른다.
감사합니다. 이제 투명 그라디언트를 만드는 방법을 알아 내야 만 모든 색상을 검정색뿐만 아니라 페이드 아웃 할 수 있습니다 :) ... 이미지를 Y 축에서 고유 한 높이만큼 아래로 이동하는 쉬운 방법은 무엇입니까? – seveves