OpenGL入門筆記(十三)

2021-09-05 17:39:31 字數 1365 閱讀 2557

int

copengldemoview::drawglscene()                                   

intcopengldemoview::loadgltextures()                                    

if(textureimage[

0])                                    

//if texture exists

free(textureimage[

0]);                                

//free the image structure

}return

status;                                        

//return the status

}glvoid copengldemoview::buildfont(glvoid)

glvoid copengldemoview::glprint(

const

char

*text)                    

//custom gl "print" routine

loadgltextures

中的幾行

**將為我們繪製在螢幕上的任何物體自動生成紋理座標。

gl_s

和gl_t

是紋理座標。預設狀態下,

gltexgen

被設定為提取物體此刻在螢幕上的

x座標和

y座標,並把它們轉換為頂點座標。你會發現到物體在

z平面沒有紋理,只顯示一些斑紋。正面和反面都被賦予了紋理,這些都是由

gltexgen

函式產生的。

(x(gl_s)

用於從左到右對映紋理,

y(gl_t)

用於從上到下對映紋理。

<?xml:namespace prefix = o />

gl_texture_gen_mode

允許我們選擇我們想在s和

t紋理座標上使用的紋理對映模式。你有

3種選擇:

gl_eye_linear -

紋理會固定在螢幕上。它永遠不會移動。物體將被賦予處於它通過的地區的那一塊紋理。

gl_object_linear -

這種就是我們使用的模式。紋理被固定於在螢幕上運動的物體上。

gl_sphere_map -

每個人都喜歡。建立一種有金屬質感的物體。

OpenGL入門筆記(十三)

int copengldemoview drawglscene intcopengldemoview loadgltextures if textureimage 0 iftextureexists free textureimage 0 freetheimagestructure return s...

OpenGL入門筆記(十三)

int copengldemoview drawglscene int copengldemoview loadgltextures if textureimage 0 if texture exists free textureimage 0 free the image structure re...

OpenGL入門筆記(四)

前面一直在畫二維圖形,其實三維圖形的繪製就是以其為基礎,可以說二維不過是三維的一種特例 相當與z 0 比如說要畫乙個正方體,它有上下左右前後共六個面組成,也就是要畫出六個正方形就可以了,只是要注意繪製時應該按逆時針繪製 好像是進行紋理對映時需要的。我們必須將opengl螢幕想象成一張很大的畫紙,後面...