조각의 색상을 변경하고자하는 조각 쉐이더를 작성했습니다. 예를 들어,받은 색상이 검은 색이면 파란색으로 바꿔야합니다. 조각의 색상 변경
이
내가 사용하고있는 쉐이더입니다 :uniform sampler2D mytex;
layout (pixel_center_integer) in vec4 gl_FragCoord;
uniform sampler2D texture1;
void main()
{
ivec2 screenpos = ivec2 (gl_FragCoord.xy);
vec4 color = texelFetch (mytex, screenpos, 0);
if (color == vec4 (0.0,0.0,0.0,1.0)) {
color = (0.0,0.0,0.0,0.0);
}
gl_FragColor = texture2D (texture1, gl_TexCoord[0].st);
}
을 그리고 여기에 내가 그것에서 무엇입니까 로그입니다 :
경고 : -1 : 65535 : 'GL_ARB_explicit_attrib_location'확장 GLSL 현재 버전에서 사용할 수없는
WARNING : 0 : 1 : 'texelFetch는'함수는 현재 GLSL 버전을 사용할 수없는
경고는 알고 있지만 어쨌든 컴파일해서는 안됩니까? 쉐이더는 내가하고 싶은 것을하고 있지 않습니다. 왜 누군가가 설명 할 수 있습니까?
미안하지만 그 쉐이더를 읽을 수 없습니다. 사람이 읽을 수있는 방식으로 포맷하는 데 시간을 할애 해 주시겠습니까? –
두 가지 경고와 오류가 있습니다. 나는 OpenGL에 익숙하지 않지만 아마도 오류는 어쨌든 컴파일해서는 안된다는 것을 의미한다. 아마도'color = (...) '보다는'color = vec4 (...)'로 고칠 수있을 것입니다. –
다음 seymours 조언을 따른다. 오류를 수정하지만 쉐이더는 여전히 내가하고 싶은 것을하지 않는다. – user2673108