官术网_书友最值得收藏!

4.4.4 MaterialModifiers、SpecializedCollections和Utility

材質球修改器、特殊收集器、實用工具這三部分的邏輯量相對少卻相當重要,它們是其他模塊所依賴的工具。

MaterialModifiers、SpecializedCollections、Utility的文件夾結構如圖4-6所示。

圖4-6 MaterialModifiers、SpecializedCollections、Utility的文件夾結構圖

IMaterialModifier是一個接口類,是為Mask修改材質球所準備的,所用方法需要各自實現。

IndexedSet是一個容器,在很多核心代碼上都可使用,它加快了移除元素的速度,并且加快了元素是否包含某個元素的判斷操作。

ListPool是List容器對象池,ObjectPool是普通對象池,很多代碼上都用到了它們,它們讓內存的利用率更高。

VertexHelper特別重要,它用來存儲生成網格(Mesh)需要的所有數據。在網格生成的過程中,由于頂點的生成頻率非常高,因此VertexHelper在存儲了網格的所有相關數據的同時,用上面提到的ListPool和ObjectPool作為對象池來生成和回收,使得數據被高效地重復利用,不過它并不負責計算和生成網格,網格的計算和生成由各自的圖形組件來完成,它只提供計算后的數據存儲服務。

主站蜘蛛池模板: 兴宁市| 西昌市| 丹江口市| 灌云县| 沂源县| 石楼县| 兴化市| 东城区| 安吉县| 神池县| 休宁县| 四平市| 辽宁省| 邯郸市| 麦盖提县| 宁武县| 通渭县| 定边县| 天等县| 屏南县| 梨树县| 浦县| 丹阳市| 买车| 彭州市| 鄂托克旗| 九龙县| 普兰店市| 宜城市| 三门峡市| 景宁| 汶川县| 栾城县| 常宁市| 呼和浩特市| 绥江县| 德惠市| 宣恩县| 黄石市| 黄梅县| 荔浦县|