我正在嘗試從Blender導出Collada格式,並且使用更復雜的對象和紋理,我在索引「p」部分注意到它會列出相同的頂點信息,但使用不同的法線和uv座標。爲什麼3D模型具有不同uv座標的重複頂點位置
我覺得兩個主要問題非常重要。
1:爲什麼?不應該只有1個頂點位置和1個UV座標的位置?
2(所有最重要的問題):如果這個頂點信息不按順序放入頂點着色器會發生什麼?例如,索引1頂點和索引10頂點共享相同的位置,但具有不同的法線和UV座標。如果指數10先走,然後指數1?反之亦然,這是否會改變Pixel Shader內部的任何內容?這是如何影響管道的其餘部分的?
謝謝!
很好的答案,但問題1呢? – Mike5050
GPU與「交錯頂點數據」一起工作,這意味着所有的頂點數據都被打包到由格式和步幅定義的相同塊中。如果您想要使用不同的法線,UV,骨骼指數或任何其他每個頂點數據都具有相同的位置(也稱爲「分割」),則必須重複該位置。 GPU使用「結構數組」,而不是「數組結構」。即使在使用多個頂點緩衝區流時,您也只有每個頂點的所有緩衝區都有一個索引 –
正確。我對問題1的回答是:沒有頂點被重複。頂點(x,y,z,u1,v1)和頂點(x,y,z,u2,v2)是不同的頂點,因爲它們具有不同的(u,v)s。 – Tommy