다른 PC에 AMD 드라이버에 내가 셰이더를 컴파일하려고하고, 하나의 PC에 인텔 HD에 컴파일되어 있지만.GLSL 오류 : "부동 또는 INT해야 유형"
버텍스 쉐이더 :
#version 330
precision mediump float;
precision lowp sampler2D;
uniform mat4 ProjectionMatrix;
uniform mat4 ModelViewMatrix;
uniform mat4 WorldViewMatrix;
in vec3 position;
in vec2 TexCoord;
out vec2 texCoord;
void main() {
texCoord = TexCoord;
gl_Position = ProjectionMatrix * ModelViewMatrix * WorldViewMatrix * vec4(position, 1);
}
조각 쉐이더 : AMD 드라이버에
#version 330
precision mediump float;
precision lowp sampler2D;
uniform vec4 TextureHueColor;
uniform sampler2D TextureUnit;
in vec2 texCoord;
out vec4 gl_FragColor;
void main() {
gl_FragColor = texture(TextureUnit, texCoord) * TextureHueColor;
}
, 나는 점점 오전 :
Vertex shader failed to compile with the following errors:
ERROR: 0:3: error(#228) Type should be float or int
ERROR: error(#273) 1 compilation errors. No code generated
저는 초보자입니다, 그리고이 그게 뭐가 잘못 됐는지 몰라. 내가 쉐이더, 괜찮아 보인다. 누구라도 무슨 일이 일어 났는지 알아봐? GLSL 3.30에서
봅니다'정밀 lowp sampler2D를 제거;'. – HolyBlackCat
@ MathuSumMut : 그럼 제대로 제거하지 않았을 것입니다. 그렇게했다면 3 행은 빈 공간이나 주석이 될 것이고 어느 것도 동일한 오류가 발생할 수 있습니다. 따라서 * 다른 오류가 있거나 문장을 삭제했다고 생각할 수도 있습니다. –
@MathuSumMut : 디버깅 기술을 사용하십시오. 그 줄 번호 앞에 파일에 오류를 만들고 무슨 일이 일어나는 지보십시오. 또는 코드를 디버그하고'glShaderSource'에 전달하기 전에 문자열을 읽으십시오. * 당신이 실제로 끈을 바꿨다고 입증하십시오. 지금 당장은 모든 증거가 당신에게 그렇게하지 않았 음을 알려줍니다. –