2017.08.08 将模型视图矩阵和投影矩阵传递到glsl中

来源:互联网 发布:nginx启动后的进程 编辑:程序博客网 时间:2024/05/18 07:00

        gluLookAt(0.0, 0.0, 5.0,  
                    0.0, 0.0, 0.0,  
                    0.0, 1.0, 0.0);  
        glGetFloatv(GL_MODELVIEW_MATRIX, g_Word2Cam);   


        gluPerspective(45, 1.0, 0.05, 100);

        glGetFloatv(GL_PROJECTION_MATRIX,projectionMat_test);    


        g_WorldMatrixUniformIndex    = glGetUniformLocation(g_Program, "worldMatrix");
        g_ProjMatrixUniformIndex    = glGetUniformLocation(g_Program, "projMatrix");


        glUniformMatrix4fv(g_WorldMatrixUniformIndex, 1, GL_FALSE, g_Word2Cam);
        glUniformMatrix4fv(g_ProjMatrixUniformIndex, 1, GL_FALSE, projectionMat_test);



解释:

gluLookAt   第一组数据为相机坐标

          第二组数据为物体目标

         第三组数据为相机向上的方向(因为可以歪着头看某一个东西)

glGetUniformLocation  :这个是用来将数组和shader中的数组绑定在一起,注意worldMatrix必须是shader中完全对应的名字

glUniformMatrix4fv   : 给shader中的数组赋值。

阅读全文
0 0
原创粉丝点击