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螢幕想象成一張很大的畫紙,後面...