我想在Unity中創建一個線框頂點/片段着色器。根據this paper似乎是可能的。一般的想法似乎是,您將頂點着色器中計算的距離向量傳遞給片段着色器中的每個片段,根據其在多邊形內的位置確定用什麼亮度繪製線框線。是否可以訪問頂點着色器中的多邊形中的所有頂點?
從我讀過的其他東西看,雖然看起來您只能訪問頂點着色器中的單個頂點。我需要訪問頂點的多邊形中的所有相鄰頂點。這篇文章似乎意味着幾何着色器不是必需的,這很好,因爲Unity目前還不支持它們。
我錯過了什麼?在頂點着色器中不可能訪問相鄰的頂點嗎?如果沒有幾何着色器,我想要做什麼?
感謝您的幫助。你知道這些限制是否可以在Unity引擎中克服嗎?是否有可能將這些額外的信息傳遞到像Unity使用的Cg着色器中?這個傳球從哪裏進行? – aardvarkk 2012-01-18 18:56:33
@aardvarkk這些約束無法克服,因爲它們是底層硬件/接口的約束,而不是引擎或着色語言的約束。頂點着色器只能訪問單個頂點,並且需要將其他兩個作爲此頂點的屬性。我對Unity沒有任何經驗,但Cg當然具有每個頂點的屬性,我相信Unity有一些方法可以爲您的模型的頂點定製屬性。 – 2012-01-18 19:05:44
@aardvarkk所以你有關於你原來的問題的任何進一步的問題(如果你可以訪問VS的鄰居,並且沒有GS你的目標是不可能的)?任何理解頂點和幾何着色器的人都不會得到任何不同的答案。 Unity與它沒有任何關係,因爲它不能奇蹟般地克服底層圖形硬件的限制。 – 2012-01-19 13:17:09