2012-09-17 81 views

回答

4

簡而言之:

- 它只是你想畫,就像汽車的一些對象。它可以由許多子對象構成,但爲了簡單和易用性,它可以作爲一個對象來實現,它包裝了所有你需要的東西。例如:當你想在你的關卡上放置一輛汽車時,你通常不需要單獨放置每個車輪/輪胎 - 所以你只有一個網格:'汽車'。

子網格 - 在渲染某些多邊形列表時,您需要設置某種執行操作的方式(這稱爲材質),然後開始渲染。這意味着您在單次渲染操作中不能使用多種材質。因爲汽車是由許多不同的材料製成的,例如玻璃,金屬等,所以你需要將它分成子網。您將爲窗戶,輪胎,車輪和車身進行劃分 - 每個人都將使用不同的材料,如玻璃,橡膠,鋁等,並且每個人都會在不同的渲染操作中進行渲染,並選擇不同的材質。因此,材質定義不會存儲在網格對象中,而是存儲在每個子網格中。

材料 - 它的「添加新的三角形到屏幕上時,該怎麼辦」的定義,它可以引擎和底層API的版本有所不同,但它只是存儲您可以爲你的材料設置的所有參數,如不透明度,光澤度,顏色(紋理),像素/頂點着色器等。

紋理 - 材質可以使用圖像作爲輸入2D/3D數據。當您閱讀材料定義時,它會定義圖像文件名稱,讀取圖像並將其分配給您的GPU。之後,當您選擇材質時,GPU將使用正確的紋理,並且我認爲這就是您現在需要知道的全部內容:)

我無法幫助您使用子材質,因爲我認爲它具有高度引擎功能,如果你告訴我們你在用什麼,我們可能會告訴你更多。

+0

我正在嘗試在Haxe中構建自己的基本引擎(避免針對缺乏優化的AS3)。但我現在明白了,謝謝。材質是系統讀取的內容,並提供着色器來呈現該信息。子網格是每種材質的幾何圖形。 – Griallia