나는 다음과 같은 오류를 얻을 : 그 문제를 해결하는 방법을 알고 있지만이 일어날 수있는 이유가에 발생 기계의 OpenGL 3.1이로GLSL 제복 초기화가 GLSL 버전에서 허용되는 1.20
WARNING: uniforms initializing is allowed from GLSL version 1.20
WARNING: Only GLSL version > 110 allows postfix "F" or "f" for float
, 내가 궁금해하고 그래서 GLSL 1.4 가지고
12:40:58 [INFO] Intel(R) HD Graphics Family
12:40:58 [INFO] OpenGL 3.1.0 - Build 8.15.10.2509
EDIT :
uniform sampler2D sampler;
uniform sampler2D bump;
uniform float imageSize;
uniform float range = 50;
void main() {
vec2 pos = gl_TexCoord[0].xy;
float height = texture2D(bump, gl_TexCoord[0].xy).r - 0.5;
pos.y += height * range/imageSize;
gl_FragColor = texture2D(sampler, pos);
//gl_FragColor = texture2D(sampler, pos) * (1 + (height - 0.3f) * 25);
}
: 해당 셰이더 (NO 정점 셰이더 포함)의 fragment 쉐이더이고
#version 지시문을 지정 했습니까? 각 셰이더에 어떤 버전을 사용할지 선언해야합니다. – Tim
항상 관련 정보를 제공하십시오. 이 경우, 문제의 쉐이더와 같습니다. –
@Tim 아니, 고마워, 그걸 시도하고있어. – DiddiZ