摘要:在OpenGL三維圖形中,紋理映射(Texture Mapping)的方法運用得很廣,尤其是用來描述具有真實感的物體。如果OpenGL版本低于2.0,其2D紋理圖的寬度和高度必須為2的冪。文章對于寬度或高度不為2的冪的非規則紋理圖像,通過圖像變換,將其寬度和高度變為2的冪,從而實現了用非規則紋理圖進行紋理貼圖。
關鍵詞:OpenGL;片元;紋理影射;紋理坐標
0 引言
OpenGL是一種交互式計算機圖形系統,允許程序員編寫出可操縱圖形硬件的程序。OpenGL已被認為是高性能圖形和交互式視景處理的標準,目前包括ATT公司UNIX軟件實驗室、IBM公司、DEC公司、SUN公司、HP公司、Microsoft公司和SGI公司在內的一些大公司都采用了OpenGL圖形標準。
在三維圖形中,紋理映射(Texture Mapping)的方法運用得很廣,尤其是用于描述具有真實感的物體。比如用一幅真實的磚墻圖像作為紋理貼到一個矩形上,一堵逼真的磚墻就畫好了。如果不用紋理映射的方法,則墻上的每一塊磚都必須作為一個獨立的多邊形來畫。盡管OpenGL 2.0版本取消了2D紋理圖的寬度和高度必須為2的冪的限制,但目前大多數圖形硬件的OpenGL實現版本都較低,為此,本文給出一種對于寬度或高度不為2的冪的非規則紋理圖像進行2D紋理貼圖的方法。