opengl vert frag glUniform 初始代码参考

本文介绍如何使用OpenGL创建顶点着色器和片段着色器,并从文件中读取着色器代码。此外,还展示了如何为OpenGL程序链接着色器、设置纹理单元以及加载立方体贴图。
char *vs = NULL,*fs = NULL;


            vert = glCreateShader(GL_VERTEX_SHADER);
            frag = glCreateShader(GL_FRAGMENT_SHADER);


            vs = textFileRead(vertFile);
            fs = textFileRead(fragFile);
            const char * ff = fs;
            const char * vv = vs;


            glShaderSource(vert, 1, &vv, NULL);
            glShaderSource(frag, 1, &ff, NULL);


            free(vs); free(fs);


            glCompileShader(vert);
            glCompileShader(frag);


            program = glCreateProgram();
            glAttachShader(program, frag);
            glAttachShader(program, vert);


            glLinkProgram(program);
            glUseProgram(program);


        LoadCubeTexture(filename, compressedTexture);


        GLint location = glGetUniformLocation(program, "tex");
        glUniform1i(location, 0);
        glActiveTexture(GL_TEXTURE0);


        EyePos = glGetUniformLocation(program, "EyePosition");


        glUniform4f(EyePos, EyePosition.X(),EyePosition.Y(), 
                                    EyePosition.Z(), 1.0);          
        DWORD bob = glGetError();
        //All is fine here
        glEnable(GL_DEPTH_TEST);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值