2017-01-04 55 views
0

如圖所示,我需要將左側的紅色三角形從白色插入黑色。我已經將它擴展爲平行四邊形以更好地理解我試圖實現的插值類型。OpenGl三角插值問題

enter image description here

通過分配1三角形和零至底部我沒有收到預期的效果的白色極端,我認爲這種特定情況下不會引起角度座標,由於問題的事實該三角形值仍然映射到平行四邊形而不是梯形,但我想我錯了。

一個解決方案將如右圖所示,通過計算矢量相交,計算frag-p1的長度並將其與長度(v3-v1)進行比較,這對於片段着色器來說太過於矯枉過正正在使用。

另一個昂貴的解決方案是存儲頂點矢量點形成的角度,並用p2和frag使用一點三角函數來得到v1-v3中的一個點,以便用完整的段進行插值,即也瘋狂低效

的最終目標將是一個黑色的從它的中心繪製由三角形的凸包到它的邊緣爲白色時尚

編輯:這個問題被標記爲一個又一個的「精確複製」就我的理解而言,對我所問的事物幾乎沒有什麼影響。沒有提供的答覆可以幫助我的案例,我想至少知道它究竟可以定義爲「確切重複」的位置

回答

1

我認爲您應該嘗試重心座標系,這是OpenGL插值顏色的方式在不同的角落。 (稱爲重心插值) 在您的具體情況下,您應該採用這三個值的單個值來設置顏色。

但是,僅僅讀它自己...

這是維基百科的鏈接:https://en.wikipedia.org/wiki/Barycentric_coordinate_system