1. 分配編號,紋理編號,創建紋理對象。 glGenTextures
2. 預創建紋理對象,程序中要使用的紋理對象。glBindTexture。OpenGL中有一維,二維,三維紋理等紋理類型,使用紋理的時候,需要指定紋理類型,以及該類型對應的紋理對像
3. 設置紋理對象參數,設置紋理參數。GlTextParameter/ glTextEnv
4. 載入圖片,紋理圖片。glTextImage2D.
5. 選擇紋理對象,所要使用的紋理對象,glBindTexture。
6. 開始畫。glTextCoords
紋理也有自己的座標體系。glMatrixMode(GL_TEXTURE),切換到紋理矩陣,進行各種變換
紋理對象就是緩存機制,先創建數個紋理對象,在使用的時候指定要使用的對象。好處就是:避免運行時載入紋理,加快運行速度。
GLuint texture_ID;
glGenTextures(1, &texture_ID); // 分配一個紋理對象的編號
或者:
GLuint texture_ID_list[5];
glGenTextures(5, texture_ID_list); // 分配5個紋理對象的編號
紋理對象在使用時,使用glBindTexture選擇某個紋理,如果不使用該函數,OpenGL某人使用編號爲0的紋理對象。一切操作都在編號爲0的對象上使用,在使用glGenTexture的時候,一般是不會返回爲0編號的對象的,就如所述,因爲那時默認會被使用的對象。
注意紋理圖片的寬度和高度,目前很多OpenGL的實現都還要求其值爲2的整數次方,如果紋理圖象本身並不滿足這個條件,可以使用gluScaleImage函數來進行縮放。爲了正確的使用紋理,需要設置紋理參數。