1. 程式人生 > >OpenGL系列教程之五:OpenGL矩陣類

OpenGL系列教程之五:OpenGL矩陣類

概述

OpenGL為渲染管線準備了4種不同型別的矩陣(GL_MODELVIEW,GL_PROJECTION, GL_TEXTURE and GL_COLOR)並且為這些矩陣提供了變換的操作:glLoadIdentity(),glTranslatef(),glRotatef(),glScalef(),glMultMatrixf(),glFrustum()和glOrtho().

這些內建的矩陣和操作對於開發簡單的OpenGL應用程式非常有用並且非常有利於理解矩陣變換。但是當你的應用程式變的複雜的時候,最好是自己為所有需要移動的物件實現你自己的矩陣和操作。除此之外,你也不可以在可程式設計的管線(GLSL),像OpenGL v3.0+, OpenGL ES v2.0+ 和 WebGL v1.0+中使用這些內建的矩陣和操作。你必須實現你自己的矩陣並且將矩陣中的資料傳遞到著色器中。

這篇文章提供了一種使用C++編寫的獨立,通用的的4*4矩陣類Matrix4,並且描述瞭如果將這個類整合到OpenGL應用程式中。這個類只依賴於定義在Vectors.h中的Vector3和Vector4。這些向量類也包含在 matrix.zip中。