OpenGL學習筆記:紋理

紋理使用六步囊:
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函數來進行縮放。爲了正確的使用紋理,需要設置紋理參數。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章