我搜索了很多,但找不到以下语句在 #version 330 顶点着色器中是否合法:

#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]...
}

我特别指的是 (1.0+rv) - 着色器在每张 nVidia 卡上都能很好地编译,但拒绝在 ATI 卡上编译。不幸的是我没有确切的编译结果,我只知道编译不成功。

最佳答案

http://www.opengl.org/registry/doc/GLSLangSpec.3.30.6.pdf

来自 5.9


(……)



因此,如果它不能在 ATI 上编译,则仅意味着它的驱动程序在这方面不正确。

关于glsl 向量加标量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14753158/

10-09 12:28