OpenGL學習二十二 紋理座標自動生成

2021-09-01 21:59:37 字數 4340 閱讀 6504

可以讓opengl自動生成紋理座標,而不是使用gltexcoord*()函式顯示地分配紋理座標

void gltexgeni (glenum coord, glenum pname, glint param);

coord

pname

param

或gl_texture_gen_mode

gl_object_linear

gl_eye_linear

gl_sphere_map

gl_normal_map

gl_reflection_map

gl_object_plane

浮點型數值

gl_eye_plane

浮點型數值

gl_object_linear:物體模式,紋理會跟隨物體的轉動而轉動(左圖)

gl_eye_linear:視覺模式,紋理部會跟隨物體的轉動而轉動,始終保持原狀(右圖)

gl_sphere_map:環境紋理(球體貼圖)具有很好的反射效果

gl_reflection_map:環境紋理(反射紋理)可替換gl_sphere_map

gl_normal_map:常用於立方體貼圖,或者散射與反射的場景

gl_normal_map球體貼圖                          gl_reflection_map球體貼圖

紋理貼圖做法

1設定紋理環繞模式

gltexparameteri(gl_texture_2d, gl_texture_wrap_s, gl_repeat);

gltexparameteri(gl_texture_2d, gl_texture_wrap_t, gl_repeat);

2.設定紋理生成模式

gltexgeni(gl_s,gl_texture_gen_mode,gl_object_linear);

gltexgeni(gl_t,gl_texture_gen_mode,gl_object_linear);

3.啟用自動生成紋理

glenable(gl_texture_gen_s);

glenable(gl_texture_gen_t);

立方圖紋理

立方圖紋理是一種比較特殊的紋理技術,它用6幅二維影象構成乙個以原點為中心的紋理立方體,對於每個片段,紋理座標(s,t,r)被當做方向向量看待,每個紋理單元都表示從原點所看到的紋理立方體上的影象

可以呼叫glteximage2d函式6次,分別使用他target引數表示立方體的各個面(+x,-x,+y,-y,+z,-z)從而建立乙個立方體

二十二,雜感

恩,二十二了,感覺是個turning point。二十二是中國男公民法定結婚年齡,但是因為我連女朋友都沒有,所以,這個話題暫不談論。其實剛到上海的時候,就準備把那些將要發生的辛酸點滴記錄下來,可是不知怎麼的,真正到辛酸的時候,卻不想去記憶了。那些歷程確實值得懷念,但是想起來就感覺不好,或許這就是所謂...

二十二 封裝

namespace demo7 this.age age this public int getage public void stuinfo 年齡為 方式一 public int age 方式二 private int age 字段 內部 public int age 讀取許可權 set 預設屬性...

Python學習之旅(二十二)

讀寫檔案就是請求作業系統開啟乙個檔案物件 檔案描述符 然後,通過作業系統提供的介面從這個檔案物件中讀取資料 讀檔案 或者把資料寫入這個檔案物件 寫檔案 f open d python doit hello.txt r f.read hello,world f.close 1 read 一次讀取全部檔...