• <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>
            基本對象著色
            材質,簡單的來講就是定義了被賦于此材質的對象如何反射光。ogre中的光照采用局部光照模型,這意味著,對計算有影響的因素有:光照的角度與光的顏色,相機的視角,對象的材質。ogre支持四種類型用來描述材質的顏色,表述了光照對它的影響:環境光,漫反射,發散,鏡面反射。環境光是對全局光照的近似,漫反射是指當物體被光照射后在物體各方向上反射的光的顏色。發散指物體本身自發光的顏色。鏡面反射,指的是在某個視角看到的被光反射出的“高光”。鏡面高光有兩個參數可以控power,shininess.power用來控制“加亮點”的尺寸(影響的范圍越大)。而shininess值越大的表面,高光越容易聚集。
            紋理映射
            通過紋理坐標,用一張2D圖片給3D對象著色的技術。
            可編程著色
            通過寫高級或低級的頂點程序,片段程序代替固定管線的功能。支持可編程圖形硬件也可以當做固定函數流水線硬件來用。可編程硬件允許更靈活的計算頂點的的顏色,位置等。紋理也可用于可編程硬件。紋理中包含的數據,不僅僅可以表示顏色,也可以表示任何其他程序員知道如何處理的數據。
            Batching
            材質與mesh之間的關系所帶來的最大影響是渲染狀態的改變。ogre中的渲染單元大多數情況下指的是renderable,它是SubEntity的父類。渲染單元這個概念的重要性在于,正是在這里,ogre將調用顯卡驅動開始并且會結束“畫操作”。一次畫操作(batch),指的是清除顏料(color,texture,etc)與材料(vertexof display lists),從頭開始一組新的操作的過程。就像一個畫家每次在畫板上做畫時會洗凈他的調色板一樣。對于3D硬件來講,這個過程包括發送新的頂點列表與數據索引到GPU(或者引用還存在的),用紋理,顏色,以及光柵化這些頂點組成的面需要的一些元數據來設置GPU。因此,最有效率的做法是一次盡可能多的把
            使用同樣渲染數據的頂點發送到GPU進行處理。ogre會盡量減小狀態改變帶來的影響,但它遵重你如何構成一個renderable的決定。假如你有一個模型它有20個塊組成,它們都使用相同的材質,這時應該把他們整合到相同的renderable中去,而不是分20次batch發送到顯卡。每幀的batch數會有個上限。
            材質克隆
            ogre中的材質是共享的。當你從材質管理器獲得一個指針,它與從使用這種材質的其他對象所擁有的材質
            指針是相同的。因此改變一處會影響其他,為了避免影響其他應該克隆材質。
            Technique & Scheme
            Technique允許針對不同的硬件平臺定制不同的材質。Scheme允許對特定一組技術進行更一般化的描述。Ogre選擇技術時有明確的順序。首先,它尋找屬于某個命名Scheme中的技術。然后在選好的scheme中查找那些應用了特定材質lod的技術。最后在這些技術列表中,選擇最能適應當前硬件設置的技術。缺省,所有的技術屬于細節級別0,它對應最高細節級別。
            Material LoD
            層次細節這個術語常用來討論隨場景中的物體的幾何復雜性是相機與物體之間距離的函數。類似的概念被應用到材質定義上。ogre提供了在哪個層次細節上使用特定技術的手段。可以在材質中定義層次細節發生變化時的距離,賦于材質中的每個技術一個細節索引。每個細節索引也可以有多個技術,用來支持scheme或是硬件能力fallback。
            材質組成
            一個materail由一個或多個technique組成,后者又由一個或多個pass組成,一個時刻只有一個technique是活動的。pass對于在GPU上執行畫操作的renderable來講,是完整的原子渲染狀態。假如選擇的技術有三pass,那么每幀會對renderable進行三次畫操作。pass可以引用紋理單元定義,而不必包含任何紋理單元定義。
            紋理單元
            ogre materail中的紋理單元實際引用GPU上的texture sampler.多數現代圖形硬件有多個texture sampler,
            ogre支持的硬件至少有一個有效的texture sampler。紋理單元包括一個紋理的引用,可以來自一個磁盤文件,或是運行時渲染,或是來自外部視頻流。可以在每個pass中指定多個紋理單元。ogre會檢測硬件支持的能力,必要時把一個pass折分成多個pass。舉例來說,假設pass中指定6個紋理單元,而硬件只支持4個,那么ogre會把這個pass拆分成兩個,對這兩個pass執行紋理混合以達到相同的設計功能。紋理通常保存在video memory中,直到它們不再需要。ogre不會每次需要時都通過總線傳輸紋理,除非紋理經常地從
            video memory中剔除。(這時發生了紋理震蕩,原因是有太多或太大的紋理同時存在于vedio memory中)。
            紋理壓縮
            現代圖形硬件支持壓縮紋理。ogre只是簡單地把紋理按原樣傳送他們到圖形硬件中去,它不會壓縮紋理。
            對于那些壓縮過的紋理,也不必事先處理它,如果硬件不支持壓縮紋理,ogre會在運行時解壓縮。
            實體
            在渲染期間,Entity主要作為subentities的容器來用,subentities是實際的渲染單元(renderable)。
            subentity與submesh有一一對應的關系,后者提供原始的材質引用。概念上來講,entity(subentity)提供了對象的渲染屬性,而mesh(submesh)提供了對象的結構屬性。
            posted on 2007-03-13 11:31 清源游民 閱讀(2585) 評論(1)  編輯 收藏 引用 所屬分類: OGRE

            FeedBack:
            # re: 《Pro Ogre 3D Programming》 讀書筆記 之 第六章 材質 概念
            2007-03-24 12:53 | 高檔
            《Pro Ogre 3D Programming》電子書的下載地址:
            http://www.freebook.googlepages.com/page2:computergamesbookseries  回復  更多評論
              
            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            留言簿(35)

            隨筆分類(78)

            隨筆檔案(74)

            文章檔案(5)

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            国产69精品久久久久9999APGF| 久久99精品国产麻豆宅宅 | 一本一本久久a久久综合精品蜜桃 一本一道久久综合狠狠老 | 奇米影视7777久久精品| 国产精品久久久久AV福利动漫| 四虎国产精品免费久久久| 欧美精品国产综合久久| 久久精品国产亚洲AV无码麻豆 | 无码人妻久久一区二区三区| 久久er国产精品免费观看2| 免费精品久久久久久中文字幕| 久久婷婷国产综合精品| 久久丝袜精品中文字幕| 久久91精品国产91久久户| 久久人人爽人人爽人人av东京热 | 国产一区二区三区久久精品| 久久亚洲AV成人无码| 久久91这里精品国产2020| 久久99国产综合精品| 少妇人妻综合久久中文字幕| 精品无码久久久久久国产| 久久大香香蕉国产| 99久久无色码中文字幕人妻| 久久久青草青青国产亚洲免观| 99久久精品午夜一区二区| 亚洲av日韩精品久久久久久a| 久久亚洲精品无码观看不卡| 久久综合狠狠综合久久激情 | 久久男人AV资源网站| 狠狠狠色丁香婷婷综合久久俺| 久久丫精品国产亚洲av| 97精品国产97久久久久久免费| 久久无码AV中文出轨人妻| 无码任你躁久久久久久久| 欧美成a人片免费看久久| 日本久久中文字幕| 亚洲欧美国产日韩综合久久| 无码人妻久久一区二区三区蜜桃| 久久国产精品视频| 伊人热热久久原色播放www| 亚洲精品午夜国产va久久|