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

posts - 72,  comments - 4,  trackbacks - 0
泰坦之旅的shader處理流程:
例如讀取以下shader文件
{fileName="Shaders/Overlay.ssh" resourceLoader=0x021090e0 resourceType=resourceShader ...}
1. Block_Constants:
   共7個const:
    1)constants[0].elements[] = VertexShader
VertexShader->bindings[0] {registerIndex=0, registerCount=4; valueisrefconst(const or param)=false, valueidx=0;}
   VertexShader->shader = 編譯好的shader;
2)constants[1].elements[] = int;
3)constants[2].elements[] = int;
4)constants[3].elements[] = int;
5)constants[4].elements[] = int;
6)constants[5].elements[] = int;
7)constants[6].elements[] = int;
2. Block_Parameters:
   共2個Param:
   1) parameters[0] = "objectToScreenMatrix"  Type_Float4x4 
   2) parameters[1] = "vs", parameter.defaultValueIndex = 0; // 即缺省指向constants[0],也即1.1)中的VertexShader
   以上Param映射到parameterNameMap表中[name]=i; 這樣通過i可以直接索引設置parameters[i].value數值。
3. Block_Styles:
   共1個Style
   styles[0].name="normal"          
   styles[0].order=0;
   numPasses=1;// 目前只支持1pass
   styles[0].bindings=7
  1).styles[0].bindins[0] {state=State_VertexShader stateIndex=0 valueReference={constant=false index=1} }     // 即指向parameters[1]
  2).styles[0].bindins[1] {state=State_DepthWriteMode stateIndex=0 valueReference={constant=true index=1} }    // 即指向constants[1]
  3).styles[0].bindins[2] {state=State_AlphaWriteMode stateIndex=0 valueReference={constant=true index=2} }    // 即指向constants[2]
  4).styles[0].bindins[3] {state=State_CullingMode stateIndex=0 valueReference={constant=true index=3} }       // 即指向constants[3]
  5).styles[0].bindins[2] {state=State_DepthTestFunction stateIndex=0 valueReference={constant=true index=4} } // 即指向constants[4]
  6).styles[0].bindins[2] {state=State_BlendSrcFactor stateIndex=0 valueReference={constant=true index=5} }    // 即指向constants[5]
  7).styles[0].bindins[2] {state=State_BlendDstFactor stateIndex=0 valueReference={constant=true index=6} }    // 即指向constants[6]
說明:   
a. 渲染前如果設置參數,將會搜索parameters[]并修改對應的值,
b. 而當渲染時,會傳入styleindex進行渲染,這時會遍歷所有styles[styleindex].bindins[],按state進行設置, 如果state是渲染狀態則通過SetRenderState之類接設置則完成,
如果是vs或者是ps,則設置對應vs->shader/ps->shader,并遍歷其bindings[]把索引到的param或者const值設置給shader.
例如:
  我們使用const kGraphicsShader2* shader = gEngine->GetGraphicsEngine()->LoadShader2("Shaders/BasicTexture.ssh");這個帶貼圖的shader.
  在渲染前通過shader->SetTexture("baseTexture",0,currentTexture0);設置貼圖時會在parameters[]搜索找并設置該貼圖,
  之后渲染時會處理styles[當前style].bindins[], 如果state是普通渲染狀態則用SetRenderState之類接設置則完成,
而如果是shader,那么會設置對應的shade,并遍歷shader.bindings[]索引找到對應的param把對應的貼圖傳遞給shader,從而得已正確渲染.
posted on 2011-11-15 14:12 flipcode 閱讀(290) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久婷婷丁香| 日韩视频二区| 久久久噜噜噜久久| 影音先锋欧美精品| 欧美国产第一页| 欧美精品免费播放| 亚洲午夜电影网| 亚洲欧美日韩天堂| 精品69视频一区二区三区| 欧美激情亚洲另类| 欧美日韩视频第一区| 欧美在线短视频| 久久青草福利网站| 在线亚洲免费| 先锋影音国产精品| 亚洲精品国产精品国产自| 亚洲精品自在在线观看| 国产欧美精品在线观看| 欧美成人69| 国产精品黄视频| 久久综合色8888| 欧美日韩免费看| 久久久99国产精品免费| 免费在线成人av| 欧美在线视频观看| 欧美国产免费| 久久九九99视频| 欧美日韩亚洲一区在线观看| 久久成人免费| 欧美日韩喷水| 男男成人高潮片免费网站| 国产精品久久久久av免费| 免费久久99精品国产自在现线| 欧美精品www| 久久在线精品| 国产精品一级二级三级| 亚洲国产精品日韩| 国产网站欧美日韩免费精品在线观看 | 亚洲免费视频在线观看| 亚洲人成网站色ww在线| 亚洲欧美自拍偷拍| 中日韩美女免费视频网址在线观看 | 亚洲专区一二三| 久久综合亚州| 久久精品一区| 国产精品久久久久av免费| 欧美fxxxxxx另类| 国产一区二区三区四区五区美女| 9国产精品视频| 亚洲欧洲三级| 蜜臀av一级做a爰片久久| 久久不见久久见免费视频1| 欧美日韩在线播放一区二区| 你懂的网址国产 欧美| 国产综合色一区二区三区| 在线综合视频| 亚洲女人小视频在线观看| 欧美日韩国产另类不卡| 亚洲国产成人精品久久| 亚洲第一在线综合网站| 久久精品1区| 久久亚洲一区二区三区四区| 国产视频精品xxxx| 欧美一区二区免费| 欧美在线视频网站| 国产视频观看一区| 欧美一区视频| 麻豆精品精品国产自在97香蕉| 国产婷婷成人久久av免费高清 | 欧美福利一区二区| 亚洲丰满在线| 欧美成人综合| 亚洲毛片在线看| 亚洲天堂免费在线观看视频| 欧美日韩成人激情| 亚洲视频精选在线| 欧美专区日韩专区| 国产综合一区二区| 噜噜噜噜噜久久久久久91| 亚洲电影在线| 亚洲午夜av电影| 国产精品视频免费在线观看| 新67194成人永久网站| 久久精品国产77777蜜臀| 激情五月***国产精品| 久久久久久久综合日本| 亚洲国产aⅴ天堂久久| 亚洲一区二区三区四区五区黄| 国产精品久久久久久久9999| 小处雏高清一区二区三区| 免费成年人欧美视频| 99热这里只有精品8| 国产精品视频导航| 久久午夜精品| 在线亚洲激情| 嫩模写真一区二区三区三州| 一本不卡影院| 国产亚洲日本欧美韩国| 欧美国产乱视频| 亚洲欧美日本在线| 亚洲国产精品第一区二区| 午夜精品久久久久久| 激情校园亚洲| 欧美午夜a级限制福利片| 欧美在线免费视频| 亚洲精品在线免费| 老牛国产精品一区的观看方式| 亚洲精品乱码久久久久久日本蜜臀| 国产精品v欧美精品v日韩| 久久亚洲风情| 午夜日本精品| 夜夜嗨av一区二区三区中文字幕| 久久综合狠狠| 欧美亚洲一区二区三区| 亚洲六月丁香色婷婷综合久久| 国产伦精品一区二区| 欧美高清视频在线| 久久久精品动漫| 亚洲一区网站| av成人手机在线| 欧美国产亚洲另类动漫| 久久国产日韩| 午夜伦欧美伦电影理论片| 亚洲黄色毛片| 在线国产精品播放| 国产偷国产偷精品高清尤物| 欧美肉体xxxx裸体137大胆| 欧美大片在线看| 久久亚洲综合| 久久人人97超碰精品888| 午夜精品一区二区三区在线视| 亚洲精品久久久蜜桃| 欧美国产欧美亚洲国产日韩mv天天看完整 | 一区免费在线| 国产在线一区二区三区四区| 欧美体内she精视频| 欧美精品在线视频观看| 欧美激情成人在线视频| 免费亚洲视频| 欧美成人一区在线| 欧美不卡视频| 欧美成人网在线| 欧美福利在线观看| 欧美精品久久久久久| 欧美精品黄色| 欧美日韩日日骚| 国产精品久久久久久久第一福利| 欧美午夜性色大片在线观看| 欧美日韩国产一区二区三区地区| 欧美国产日韩在线| 欧美日韩国产成人精品| 欧美日韩精品二区| 国产精品爱久久久久久久| 国产精品麻豆成人av电影艾秋| 欧美午夜精品一区| 国产精品入口日韩视频大尺度| 国产欧美日韩一区二区三区在线| 国产一区二区三区无遮挡| 狠狠色综合播放一区二区| 亚洲国产视频一区二区| 日韩一区二区精品视频| 亚洲影院在线| 久久精品99无色码中文字幕| 蜜臀91精品一区二区三区| 欧美激情亚洲精品| 一区二区三区四区国产| 亚洲欧美视频在线观看视频| 久久精品观看| 欧美乱妇高清无乱码| 国产精品入口66mio| 激情久久五月| 中国女人久久久| 久久久久国产精品午夜一区| 男女激情久久| 一区二区三区高清不卡| 欧美专区在线观看一区| 欧美成人国产| 国产欧美精品日韩精品| 亚洲黄色在线看| 性久久久久久久| 欧美激情小视频| 亚洲女人天堂av| 欧美精品18videos性欧美| 国产欧美二区| 一区二区福利| 老司机一区二区| 中文久久乱码一区二区| 麻豆成人小视频| 国产精品专区h在线观看| 亚洲人成7777| 久久青草福利网站| 中文在线不卡视频| 欧美成人激情视频免费观看| 国产日本欧洲亚洲| 亚洲一区二区三区成人在线视频精品| 久久成人久久爱| 一区二区精品国产| 欧美大片在线影院| 尤物精品在线| 久久久久久免费|