2010-06-30 41 views
1

我需要在一些任意的非平面表面上畫一個圓,但是這個圓應該放在表面上並且遵循表面的不規則形式。換句話說(這可能是一種可能的解決方案),它希望在鼠標指針附近的非平面上有像投影那樣的「陰影」。我是否需要在內存中創建一個球體並將其投影到曲面上?是否有其他一些技術來實現相同的目標? 預先感謝您。在opengl的非平面上的圓形

回答

1

有兩種方法可以做到這一點。首先,創建一個圓柱並將其與曲面相交,得到相交線段並繪製它們。如果你已經有了一個可以利用的數學庫,並且如果你不必每幀都進行交叉,那麼這可能是一個好主意。你會準確得到你想要的。

另一種選擇,正如你已經建議的將使用投影。雖然我不確定,但您仍然可以清楚地看到表面上一個圓圈的陰影。但是,如果您的表面具有參數化紋理座標,則可以創建一個印有圓的紋理,並將該紋理應用到曲面。