青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

黎明的剔透里伸出了你沁清的曖昧

Graphics|EngineDev|GameDev|2D&3D Art

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  60 隨筆 :: 1 文章 :: 18 評論 :: 0 Trackbacks

OpenGL Extension
OpenGL擴展實際上是硬件的驅動程序的一部分,是針對硬件的特性而新開發的,它是由硬件設計者或OpenGL庫設計者按其規格說明書進行設計的,不用的OpenGL實現(OpenGL Implementation)支持的擴展可能不一樣,只是隨著某一擴展的推廣與應用以及硬件技術的提高,該擴展會在所有的OpenGL實現中給予支持,從而最終成為OpenGL 標準庫的一部分。
多重紋理是指在同一模型表面指定兩個或者兩個以上的紋理圖像,進而這些紋理圖形通過一定的融合方式進行混合以獲得逼真效果的一種技術。在標準的紋理映射過程中,將每個紋理對象都映射到多邊形一次,較早的顯卡只支持單或者雙紋理,這樣要實現多重紋理的效果,就需要采用不用的紋理圖像對該多邊形繪制多次,然通過混合操作來達到多重紋理效果,這顯然降低了系統的性能,而OpenGL擴展庫中提供了多重紋理技術,它允許在紋理映射流水線中依次將多少紋理應用到同個多邊形,每次紋理單元處理完就傳遞給下個單元,知到最后一個紋理單元完成其工作。

多重紋理的一個應用:用一個表示磚墻的紋理圖映射到墻面模型上,然后把一個表示聚光燈效果的灰度圖作為第二重紋理映射到上面,就形成了磚墻被一個聚光燈照亮的效果,這邊是通常所說的光照貼圖。
OpenGL使用多重紋理,可以按照下面的步驟:
1.檢查顯卡是否支持多重紋理擴展,支持則可獲取多重紋理擴展函數的指針地址。
2.創建紋理對象,并載入紋理數據。
3.為每個紋理單元指定其紋理映射參數,并綁定紋理。
4.對個每個頂點,指定多組紋理坐標。
void glActiveTexture(GLenum texUnit);
該函數選擇一個紋理單元,線面的紋理函數將作用于該紋理單元上,參數為符號常量GL_TEXTUREi ,i的取值范圍為0~K-1,K是OpenGL實現支持的最大紋理單元數,可以使用GL_MAX_TEXTURE_UNITS來調用函數glGetIntegerv()取該值。
glClientActiveTexture(    );
glClientActiveTexture和glActiveTexture類似,都是用來指定當前使用的紋理句柄的,之后是glEnableClientState進行激活動作,再用glTexCoordPointer指定VBO內的數據的格式,這都針對紋理坐標VBO
 1 if( m_Keys.IsPressed('0')){
 2  //打開第0層貼圖
 3       glActiveTextureARB(GL_TEXTURE0_ARB);
 4    glEnable(GL_TEXTURE_2D);
 5    glBindTexture(GL_TEXTURE_2D,texture[0]);
 6     //指定第0層貼圖的貼圖的坐標
 7    glClientActiveTextureARB(GL_TEXTURE0_ARB);
 8    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
 9    glTexCoordPointer(2,GL_FLOAT,sizeof(Vertex_VT),&g_Quad[0].m_Texcoord );
10    //關閉第一層紋理
11    glActiveTextureARB(GL_TEXTURE1_ARB);
12    glDisable(GL_TEXTURE_2D);
13    //不去讀取第1層貼圖的貼圖坐標
14    glClientActiveTextureARB(GL_TEXTURE1_ARB);
15    glDisableClientState(GL_TEXTURE_COORD_ARRAY);
16
17 }

18 if( m_Keys.IsPressed('9')){
19  //打開第0層貼圖
20       glActiveTextureARB(GL_TEXTURE0_ARB);
21    glEnable(GL_TEXTURE_2D);
22    glBindTexture(GL_TEXTURE_2D,texture[1]);
23     //指定第0層貼圖的貼圖的坐標
24    glClientActiveTextureARB(GL_TEXTURE0_ARB);
25    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
26    glTexCoordPointer(2,GL_FLOAT,sizeof(Vertex_VT),&g_Quad[0].m_Texcoord );
27    //關閉第一層紋理
28    glActiveTextureARB(GL_TEXTURE1_ARB);
29    glDisable(GL_TEXTURE_2D);
30    //不去讀取第1層貼圖的貼圖坐標
31    glClientActiveTextureARB(GL_TEXTURE1_ARB);
32    glDisableClientState(GL_TEXTURE_COORD_ARRAY);
33   }

34 if( m_Keys.IsPressed('8')){
35  //打開第0層貼圖
36       glActiveTextureARB(GL_TEXTURE0_ARB);
37    glEnable(GL_TEXTURE_2D);
38    glBindTexture(GL_TEXTURE_2D,texture[0]);
39     //指定第0層貼圖的貼圖的坐標
40    glClientActiveTextureARB(GL_TEXTURE0_ARB);
41    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
42    glTexCoordPointer(2,GL_FLOAT,sizeof(Vertex_VT),&g_Quad[0].m_Texcoord );
43     //打開第1層貼圖
44       glActiveTextureARB(GL_TEXTURE1_ARB);
45    glEnable(GL_TEXTURE_2D);
46    glBindTexture(GL_TEXTURE_2D,texture[1]);
47    //設置兩張貼圖相加
48    glTexEnvi(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,GL_ADD);
49      //指定第1層貼圖的貼圖的坐標
50    glClientActiveTextureARB(GL_TEXTURE1_ARB);
51    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
52    glTexCoordPointer(2,GL_FLOAT,sizeof(Vertex_VT),&g_Quad[0].m_Texcoord );
53   }

54








posted on 2012-02-14 02:19 情絕格調(fresmaster) 閱讀(3947) 評論(0)  編輯 收藏 引用 所屬分類: Graphics
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美成人一区二区| 国产欧美一区二区精品忘忧草| 欧美一区二区三区喷汁尤物| 亚洲男人第一网站| 一本久道久久综合中文字幕| 中日韩午夜理伦电影免费| 亚洲一区二区精品| 久久精品色图| 欧美国产日韩一区二区在线观看| 欧美日韩第一区日日骚| 国产精品日韩欧美一区| 在线成人免费观看| 一区二区三区精品国产| 久久久精品国产99久久精品芒果| 欧美 日韩 国产在线 | 激情六月婷婷久久| 亚洲国产第一| 亚洲免费婷婷| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲三级视频| 在线一区二区三区四区| 久久国产毛片| 欧美性猛交xxxx乱大交蜜桃| 在线观看国产精品淫| 亚洲视频中文字幕| 美女性感视频久久久| 一区二区三区高清在线观看| 久久久www成人免费无遮挡大片 | 在线视频你懂得一区二区三区| 亚洲欧美在线免费观看| 欧美护士18xxxxhd| 午夜影院日韩| 欧美午夜精品理论片a级按摩| 激情综合激情| 欧美一区二区在线免费观看| 亚洲激情网站| 久久久久成人精品| 国产精品一区二区三区乱码 | 女生裸体视频一区二区三区| 国产精品一区二区你懂得 | 亚洲毛片在线| 免费亚洲电影在线| 精品成人国产在线观看男人呻吟| 午夜精品三级视频福利| 亚洲欧洲综合| 欧美激情精品久久久久久黑人 | 久久九九免费| 亚洲一区二区在线看| 久久久水蜜桃av免费网站| 亚洲精品免费一区二区三区| 亚洲欧美一区二区原创| 欧美精品色网| 亚洲黄色免费网站| 老司机一区二区三区| 亚洲男人第一网站| 国产精品乱人伦中文| 中文在线一区| 一本色道久久综合亚洲精品高清| 欧美高清在线观看| 亚洲精品久久久久久久久久久久久| 美女主播精品视频一二三四| 久久久久国产精品麻豆ai换脸| 激情伊人五月天久久综合| 久久综合色天天久久综合图片| 欧美与黑人午夜性猛交久久久| 国产伦精品一区二区三区免费迷| 午夜精品一区二区三区四区| 亚洲综合日韩在线| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲福利视频网站| 欧美.www| 欧美精品v国产精品v日韩精品| 亚洲人成绝费网站色www| 亚洲国产经典视频| 欧美日韩精品一本二本三本| 亚洲在线视频观看| 亚洲砖区区免费| 伊人久久大香线| 亚洲国产欧美一区二区三区同亚洲 | 久久久久国产一区二区三区四区 | 久久人人爽人人爽爽久久| 久久久久久久综合色一本| 亚洲精品乱码久久久久久| 99视频一区二区| 国产日韩欧美在线视频观看| 你懂的成人av| 欧美日韩一区二区精品| 久久av一区二区| 免费人成网站在线观看欧美高清| 久久精品二区| 一本色道久久加勒比88综合| 狂野欧美激情性xxxx欧美| 99精品欧美一区| 欧美色图天堂网| 欧美一区二区三区电影在线观看| 欧美一区二区三区视频免费播放 | 久久免费高清| 亚洲一区二区欧美日韩| 久久福利一区| 亚洲少妇在线| 久久亚洲一区二区| 西瓜成人精品人成网站| 老司机亚洲精品| 性欧美video另类hd性玩具| 另类欧美日韩国产在线| 久久www免费人成看片高清| 欧美成人首页| 久久日韩精品| 国产欧美精品va在线观看| 欧美黑人在线观看| 国产亚洲视频在线| 亚洲一二三区精品| 亚洲精品无人区| 久久久久久69| 久久精品二区三区| 国产精品久久久久高潮| 最近中文字幕mv在线一区二区三区四区| 国产精品嫩草99a| 亚洲精品韩国| 亚洲黄网站黄| 久久久999精品视频| 久久精品国产91精品亚洲| 国产精品成人一区二区网站软件 | 国产欧美日本一区二区三区| 亚洲欧洲一区二区三区在线观看| 国产综合视频在线观看| 亚洲一区二区三区精品视频| 亚洲图色在线| 欧美三级黄美女| 99精品欧美一区| 亚洲网站视频福利| 欧美日韩免费观看中文| 亚洲精品国产精品乱码不99 | 国产乱码精品| 亚洲一区欧美激情| 午夜一级久久| 国产欧美 在线欧美| 亚洲欧美日韩国产综合精品二区| 亚洲欧美日韩国产另类专区| 欧美视频在线观看 亚洲欧| 日韩视频不卡| 国产精品久久午夜| 一区二区三区不卡视频在线观看| av成人激情| 国产精品久久久久久久久久免费看| 日韩午夜激情| 欧美亚洲色图校园春色| 国产在线乱码一区二区三区| 久久久久成人网| 亚洲国产精品第一区二区三区| 亚洲毛片在线看| av不卡在线| 欧美日韩福利视频| 亚洲麻豆一区| 性做久久久久久久免费看| 国产性天天综合网| 久久久久久久激情视频| 欧美国产1区2区| 亚洲一区二区三区三| 国产亚洲高清视频| 欧美电影打屁股sp| 亚洲一二区在线| 欧美1区视频| 亚洲永久视频| 在线免费不卡视频| 欧美色偷偷大香| 久久国产欧美| 日韩亚洲欧美高清| 久久午夜视频| 中国成人黄色视屏| 狠狠色狠狠色综合日日小说| 欧美高清在线播放| 欧美一区二区三区视频免费播放| 亚洲国产精品99久久久久久久久| 亚洲一区精品在线| 1769国内精品视频在线播放| 国产精品vvv| 蘑菇福利视频一区播放| 亚洲欧美成人综合| 亚洲欧洲日产国产网站| 久久久精彩视频| 亚洲一区二区在线| 亚洲日本久久| 狠狠色狠狠色综合日日tαg| 国产精品二区二区三区| 欧美本精品男人aⅴ天堂| 欧美一区二区在线看| aⅴ色国产欧美| 亚洲国产精品va在看黑人| 久久亚洲二区| 欧美专区福利在线| 中日韩男男gay无套| 亚洲国产欧美不卡在线观看| 国产欧美日韩精品一区| 欧美日韩亚洲网| 欧美成人免费一级人片100| 久久精品最新地址| 性色av一区二区三区在线观看| 亚洲最新在线视频| 亚洲人永久免费|