I searched a lot but could not find if the following statements are legal in a #version 330
vertex shader:
#define note_the_following_whitespaces 0x01
(layout location = 7) vec3 out ov;
(layout location = 8) vec3 out rv;
void main() {
rv = vec3(1.0,2.0,3.0);
ov = (1.0+rv)/2.0;
gl_Position = [whatever]...
}
I'm referring particularly to the (1.0+rv)
- the shader compiles fine on every nVidia card, but refuses to compile on ATI cards. Unfortunately I don't have the exact compilation result, I just know that the compilation was unsuccessful.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…