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


        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中的数组赋值。

发布了44 篇原创文章 · 获赞 14 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/hehehetanchaow/article/details/76904558