opengl-shader学习笔记:varying变量

varying变量可以在Vertex Shader和Fragment Shader之间传递数据

渲染管线中应用程序调用openglAPI,把顶点数据传给Vertex Shader,Vertex Shader处理完后输出数据给Fragment Shader,如上图中Vertex Shader->Fragment Shader的过程中 varying变量负责把数据从Vertex Shader搬运到Fragment Shader。

        const char* vs  =   "uniform vec4 _color;\
                            varying vec4 outColor;\
                            void main()\
                            {\
                                outColor    =   _color;\
                                gl_Position =   ftransform();\
                            }";
        const char* ps  = " varying vec4 outColor;\
                            void main()\
                            {\
                                gl_FragColor = outColor;\
                            }";
        //vs通过outColor变量把数据输出,ps通过outColor变量接受vs数据
        createProgram(vs, ps);

        _color  =   glGetUniformLocation(_program,"_color");

猜你喜欢

转载自blog.csdn.net/u012861978/article/details/125897527