我想用Stage3D的AGAL編寫的着色器程序創建線框效果。如何將重心座標傳遞給AGAL着色器? (AGAL線框着色器)
我一直在谷歌搜索,我明白,我可以確定一個像素是多麼接近一個三角形的邊緣使用barycentric coordinates(BC)通過頂點程序傳遞到片段程序,然後相應的顏色,如果它足夠接近。
我的困惑在於用什麼方法將這些信息傳遞給着色器程序。我有一個簡單的例子,設置了一個立方體,8個頂點和一個索引緩衝區,以在使用它們之間繪製三角形。
如果我是放置卑詩省到頂點緩衝區,這是沒有意義的,因爲他們需要根據其三角形被渲染成不同的;例如使用Vetex2和Vetex3渲染時,Vetex1可能需要(1,0,0),但使用Vetex5和Vetex6渲染時,Vetex1可能需要(1,0,0)。也許我不完全理解這個方法。
我是否需要複製頂點位置並將頂點數據添加到頂點緩衝區中,實際上每個三角形產生3個頂點並將頂點數加倍? 我是否總是給頂點一個(1,0,0),(0,1,0)或(0,0,1)值或者這只是一個例子? 我是否在複雜這一點,是否有更簡單的方法來執行着色器和Stage3d線框?
希望能夠完全解釋我的問題。非常感謝答覆,謝謝!
謝謝你爲我分手。隨着幾何的變化,我可以做到這一點。 – JimmyDeemo