The invention discloses a combined rendering system, a 3D model including: 3D model storage unit for storing 3D model; rendering identifier generation unit for rendering parameters based on 3D model, generated rendering marks; grouping unit for rendering based on the logo, will have the same rendering identified 3D model configuration to a packet list in the render settings; unit for rendering parameters in 3D model group list submission status within the set to the rendering unit, and the 3D model in the packet in the list are not submitted, to maintain the current setting; the 3D model in the group in the list has been submitted, the state of a switch submit to submit the packet list; submit unit for 3D in model group in the state list submitted to the rendering unit; a rendering unit, based on the design for Sets the render parameters to render the 3D model. The invention also discloses a combined rendering method and terminal of the 3D model, which can improve the efficiency of rendering.
【技術實現步驟摘要】
一種3D模型的合并渲染系統及方法、終端
本專利技術涉及渲染領域,尤其涉及一種3D模型的合并渲染系統及方法、終端。
技術介紹
在3D場景的渲染過程中,由引擎提交待渲染區域內的3D模型的頂點數據到圖形處理器(GraphicsProcessingUnit,GPU),并在設置貼圖、設置著色器及渲染狀態等渲染參數后,通知圖形API對3D模型進行渲染的過程,可以稱之為一個批次。由于在這一過程中,無論是頂點數據的傳輸、貼圖、渲染狀態的切換和著色器的設置,還是渲染請求的提交都是比較消耗運算和時間的操作,因此每幀的批次數量直接影響著渲染的效率,故對批次進行合并來減少每幀批次數量是提升渲染效率的有效手段。目前的合并批次方法主要有兩種,一種是美術在制作3D場景的過程中,將3D場景中使用同樣材質、相同貼圖的3D模型都合并到一個大模型當中,那么在渲染過程中,就會在同一批次里將這些3D模型一起渲染出來。另一種是由圖形API來對3D場景中的3D模型進行合并,例如Direct3D和OpenGL提供的instance技術都可以通過提供1個3D模型的頂點數據和N個變換矩陣,在一個批次中同時渲染出N個相同的3D模型。
技術實現思路
但是現有的二種合并批次方法均存在不足:對于第一種方法,一方面,它會限制3D場景制作的自由度,而且當需要調整3D場景中一些3D模型的位置,需要重新制作整個大模型,增加美術的工作量;另一方面,將這些3D模型做成一個大模型,只要這個大模型的包圍盒出現在鏡頭內(即待渲染區域內),那么整個大模型會在不進行剪裁的情況下進行直接渲染,即不在鏡頭內的3D模型也會被渲染,如此增加了額外的 ...
【技術保護點】
一種3D模型的合并渲染系統,其特征在于,包括:3D模型存儲單元,用于存儲3D場景中的3D模型;渲染標識生成單元,用于基于所述3D模型的渲染參數,生成所述3D模型的渲染標識;分組單元,用于基于所述3D模型的渲染標識,對所述3D模型存儲單元中的位于待渲染區域內的3D模型進行分組,將具有相同渲染標識的3D模型配置到一個分組列表中;渲染設置單元,用于將處于提交狀態的分組列表內的第一個3D模型的渲染參數設置到渲染單元,并在所述分組列表內的3D模型未全部被提交時,維持當前設置;在所述分組列表內的3D模型已全部被提交時,將一個未提交的分組列表的狀態切換到提交狀態;提交單元,用于將處于提交狀態的分組列表內的3D模型提交到渲染單元;渲染單元,用于基于所述渲染設置單元設置的渲染參數對提交的所述3D模型進行渲染,生成相應的畫面幀。
【技術特征摘要】
1.一種3D模型的合并渲染系統,其特征在于,包括:3D模型存儲單元,用于存儲3D場景中的3D模型;渲染標識生成單元,用于基于所述3D模型的渲染參數,生成所述3D模型的渲染標識;分組單元,用于基于所述3D模型的渲染標識,對所述3D模型存儲單元中的位于待渲染區域內的3D模型進行分組,將具有相同渲染標識的3D模型配置到一個分組列表中;渲染設置單元,用于將處于提交狀態的分組列表內的第一個3D模型的渲染參數設置到渲染單元,并在所述分組列表內的3D模型未全部被提交時,維持當前設置;在所述分組列表內的3D模型已全部被提交時,將一個未提交的分組列表的狀態切換到提交狀態;提交單元,用于將處于提交狀態的分組列表內的3D模型提交到渲染單元;渲染單元,用于基于所述渲染設置單元設置的渲染參數對提交的所述3D模型進行渲染,生成相應的畫面幀。2.根據權利要求1所述的3D模型的合并渲染系統,其特征在于,所述3D模型存儲單元包括:頂點索引數據存儲模塊,用于存儲3D場景中的3D模型的頂點索引數據;頂點數據存儲模塊,用于存儲3D場景中的3D模型的頂點數據;其中,一份頂點索引數據對應一份頂點數據。3.根據權利要求2所述的3D模型的合并渲染系統,其特征在于,所述3D模型存儲單元還包括坐標變換模塊;所述坐標變換模塊,用于在3D模型加載進所述3D場景時,根據預置的世界變換矩陣對所述3D模型進行變換,獲取所述3D模型在世界坐標系中的頂點數據,以供所述頂點數據存儲模塊進行存儲。4.根據權利要求3所述的3D模型的合并渲染系統,其特征在于,所述3D模型的渲染參數包括3D模型的貼圖、著色器及渲染狀態。5.根據權利要求4所述的3D模型的合并渲染系統,其特征在于,所述著色器的世界變換矩陣為單位矩陣。6.根據權利要求4所述的3D模型的合并渲染系統,其特征在于,所述渲染狀態包括3D模型的混合模式和讀寫深度。7.根據權利要求2所述的3D模型的合并渲染系統,其特征在于,所述提交單元具體用于,將處于提交狀態的分組列表內的3D模型的頂點索引數據的存儲地址提交到渲染單元;其中,所述存儲地址包括所述3D模型的頂點索引數據在所述頂點索引數據存儲模塊的起始位置和長度;則所述渲染單元具體用于,根據提交的存儲地址獲取所述3D模型的頂點索引數據,并基于所述頂點索引數據從所述頂點數據存儲模塊獲取對應的頂點數據后,根據所述渲染設置單元設置的渲染參數、所述頂點索引數據及所述頂點數據進行渲染,生成相應的畫面幀。8.根據權利要求7所述的3D模型的合并渲染系統,其特征在于,所述3D模型的合并渲染系統還包括排列單元,用于對所述頂點索引數據存儲模塊存儲的頂點索引數據進行排列,使得位于同一分組列表的3D模型的頂點索引數據的存儲地址在所述頂點索引數據存儲模塊內連續。9.根據權利要求7或8所述的3D模型的合并渲染系統,其特征在于,所述提交單元具體包括:連續檢測模塊,用于以所述分組列表內的第一個未被提交的3D模型為起點,在所述分組列表中查找與所述起點在所述頂點索引數據存儲模塊中的存儲地址連續的3D模型,并以查找到的所述3D模型作為新的起點繼續進行查找,直至查找不到與所述起點的存儲地址連續的3D模型;存儲地址構成模塊,用于根據第一個未被提交的3D模型的起始位置、長度及所有滿足與所述起點的存儲地址連續的3D模型的總長度,構成一個存儲地址;存儲地址提交模塊,用于將構成的所述存儲地址提交到渲染單元。10.一種3D模型的合并渲染方法,其特征在于,包括:3D模型存儲單元存儲3D場景中的3D模型;渲染標識生成單元基于所述3D模型的渲染參數,生成所述3D模型的...
【專利技術屬性】
技術研發人員:劉璐,
申請(專利權)人:網易杭州網絡有限公司,
類型:發明
國別省市:浙江,33
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。