2014-01-22 68 views
1

我需要製作球形廣告牌(即設定深度),但要考慮透視投影 - 理想情況下包括偏離中心的沮喪。模擬球形廣告牌的變形

我無法找到任何成功的人蔘考 - 儘管有很多解釋爲什麼標準廣告牌沒有透視失真。不幸的是,對於我的申請來說,缺乏並不是一個表面缺陷;這對算法來說非常重要。

我做了一些調查,我自己:

數學變得相當混亂,而迅速。顯而易見的方法不起作用:例如,您不能將廣告牌定向爲垂直於觀看光線,因爲切向光線不會與廣告牌呈直角相交。

我發現的最有前途的方法可能是讓廣告牌平行於近剪裁平面,並用頂點着色器將其展開爲橢圓。這隻能處理沿一個軸的擾動(所以它不能處理渲染在視圖角落的球體),但主要障礙是正確計算深度;你無法像計算未失真的球體那樣計算它,因爲「球體」會遮擋它自身。

其實,我沒有找到一個好的解決方案,我找不到任何人。任何人有想法?

+0

我不明白你的問題。一個明顯的方法是將內容作爲紋理映射到要渲染的球體上。或者你想要純2D的訣竅? –

+0

這需要純粹是2D。問題是故意在邊緣附近引入透視變形。 – imallett

+0

實現失真效果的方法有很多種。一種是將矩形映射到球體上並使用真實投影方程將其投影到屏幕上。這些方程將2D球面座標轉換爲3D笛卡爾座標,然後將3D笛卡爾座標轉換爲2D笛卡爾座標,併產生逼真的效果。其他方法是用「球狀」效應來定義任意變形(在極座標中工作可以減輕這種影響)。但實際上你正在尋找的是不明確的。你能改說嗎? –

回答