資源描述:
《ogre渲染引擎粒子系統(tǒng)小節(jié)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、OGRE渲染引擎粒子系統(tǒng)小節(jié)實(shí)體(Entity)一個(gè)實(shí)體是場(chǎng)景里一個(gè)可移動(dòng)的物體的具體實(shí)例。唯一的假設(shè)是它在世界空間里沒(méi)有一個(gè)固定的位置。實(shí)體必須連接到一個(gè)結(jié)點(diǎn)上才真正成為場(chǎng)景的一部分。當(dāng)一個(gè)實(shí)體被載入后,一系列預(yù)定義的材質(zhì)也一齊被載入。一個(gè)網(wǎng)格可能不僅僅只用一種材質(zhì)。網(wǎng)格的不同部分可以使用不同的材質(zhì)。一個(gè)網(wǎng)格對(duì)象實(shí)際上包含著幾個(gè)子網(wǎng)格對(duì)象(根據(jù)它所包含的材質(zhì)數(shù)目)。如果一個(gè)網(wǎng)格只有一種材質(zhì)可用,那么它就只有一個(gè)子網(wǎng)格對(duì)象??梢允褂肊ntity::getSubEntity()來(lái)獲得子網(wǎng)格的引用,然后使用該引用調(diào)用setMaterialName()來(lái)改變材質(zhì)。材質(zhì)
2、(Material)Ogre默認(rèn)的材質(zhì)類(lèi)型為:對(duì)環(huán)境光顏色的反射:ColourValue::White(full);全部反射出去對(duì)漫反射光的反射:ColourValue::White(full)對(duì)鏡面光的反射:ColourValue::Black(none);不發(fā)生鏡面反射shininess:0沒(méi)有紋理層.混合參數(shù):SourceBlendFactor=SBF_ONE,DestBlendFactor=SBF_ZERO深度測(cè)試開(kāi)啟.深度緩沖寫(xiě)入開(kāi)啟.深度測(cè)試比較函數(shù):CMPF_LESS_EQUAL消除模式:CULL_CLOCKWISE順時(shí)針全局環(huán)境光:ColourV
3、alue(0.5,0.5,0.5)動(dòng)態(tài)光照計(jì)算:開(kāi)啟高斯著色模式.雙線性紋理過(guò)濾.技術(shù)(Technique)編譯器會(huì)對(duì)其檢查的幾項(xiàng)主要為:1.在每個(gè)pass里的紋理單元數(shù)目.注意到,如果紋理單元的數(shù)目超過(guò)了顯卡芯片的最大支持?jǐn)?shù),該technique可以仍被使用,直到一個(gè)頂點(diǎn)shader被使用.在這種情況下,ogre將會(huì)舍棄掉那個(gè)擁有太多passesentries的pass,然后將多紋理混合(multitexture)變成多pass混合(multipass)來(lái)處理.2.是否啟用了紋理技術(shù).如果啟用的話,使用的是哪一種語(yǔ)言.3.其它的像立方體映射以及dot3混合等效
4、果.注意,在一個(gè)材質(zhì)腳本中,technique的順序必須按照使用優(yōu)先級(jí)按順序來(lái)寫(xiě).換句話說(shuō),排在越前面的technique比排在后面的technique更優(yōu)先被選擇.這意味著通常把最高級(jí)的,對(duì)顯卡最具挑戰(zhàn)性的technique放在最前面,把一些對(duì)顯卡要求比較低的technique放在后面.technique僅擁有一項(xiàng)屬于它們自已的屬性,那就是LOD級(jí)別.默認(rèn)地,technique有級(jí)別0(最高級(jí)別).可以指定多個(gè)technique使用同一個(gè)級(jí)別,OGRE將自動(dòng)挑選最好的technique(通常是按照哪個(gè)technique排在前面來(lái)選擇).一般來(lái)說(shuō),可以這樣來(lái)決定
5、technique順序:先按LOD級(jí)別,LOD級(jí)別相同的再按優(yōu)先權(quán)來(lái)排序.具體使用哪個(gè)級(jí)別的LOD,是由material的lod_distance來(lái)間接決定的.technique的LOD數(shù)目必須與material指定的距離數(shù)目相同.如lod_distance指定了100,1000,3000三個(gè)級(jí)別的最小距離,那么也應(yīng)該有相應(yīng)的0,1,2三個(gè)lod級(jí)別.如:lod_distance50010001400這樣,lod_index0對(duì)應(yīng)0~500,lod_index1對(duì)應(yīng)500~1000,lod_index2對(duì)應(yīng)1000~1500一個(gè)technique可以有0~16個(gè)
6、pass.通道(pass):在一個(gè)通道里可以指定的屬性有:ambient;diffuse;specular;emissive;sceneblend;//混合操作depthcheck;depthwrite;depthfunc;depthbias;cullhardware;cullsoftware;lighting;shadingmodel;fogoverride;colourwrite;maxlights;iteration;各種屬性的描述如下:ambientrgb它決定了在每個(gè)頂點(diǎn)對(duì)r,g,b的反射程度.這個(gè)屬性決定了多少的全局環(huán)境光被反射.這個(gè)屬性在動(dòng)態(tài)光照被
7、禁用或者啟用紋理層的colour_op_replace顏色替換選項(xiàng)時(shí)無(wú)效.diffuser,g,b它決定了在每個(gè)頂點(diǎn)對(duì)于場(chǎng)景中的燈光的diffuse成分的反射程度.在光照計(jì)算禁用或啟用colour_op_replace紋理層屬性時(shí)無(wú)效.emissiver,g,b設(shè)置頂點(diǎn)的自發(fā)光顏色.當(dāng)啟用vertexshader時(shí)該屬性無(wú)效.當(dāng)lightingoff或colour_op_replace時(shí)也無(wú)效.scene_blendadd或者scene_blendmodulate或者scene_blendalpah_blend或者兩個(gè)參數(shù)的形式scene_blendoneone
8、scene_blends