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