3 回答

TA貢獻1825條經(jīng)驗 獲得超4個贊
OpenGL使用逆紋理。它需要從世界空間(X,Y,Z)到紋理空間(X,Y)到離散空間(U,V)的坐標(biāo),其中離散空間位于[0,1]域中。
采取一個多邊形,將其視為一張紙。有了這個:
glTexCoord(0,0);
glTexCoord(0,1);
glTexCoord(1,1);
glTexCoord(1,0);
您告訴OpenGL在整張紙上繪圖。應(yīng)用修改時,紋理空間將相應(yīng)地修改為給定坐標(biāo)。例如,這就是為什么當(dāng)您將相同的紋理劃分兩次時,您告訴OpenGL映射一半的圖紙,而不是整個圖紙。

TA貢獻1895條經(jīng)驗 獲得超3個贊
對于2D圖像紋理,紋理坐標(biāo)中的0,0對應(yīng)于圖像的左下角,而紋理坐標(biāo)中的1,1對應(yīng)于圖像的右上角。請注意,“圖像的左下角”不在左下像素的中心,而是在像素的邊緣。
上傳圖片時也很有趣:
8.5.3紋理圖像結(jié)構(gòu)
紋理圖像本身(由數(shù)據(jù)引用)是一組值的序列。第一組是紋理圖像的左下角。隨后的組從左到右填寫寬度width的行;高度行從底部到頂部堆疊,形成一個二維圖像切片;和深度切片從后到前堆疊。
請注意,大多數(shù)圖像格式的數(shù)據(jù)都從頂部開始,而不是從底部開始。
- 3 回答
- 0 關(guān)注
- 1190 瀏覽
添加回答
舉報