2011-03-19 40 views
2

你好 我看到有一些筆記本電腦支持3D。我知道他們爲每隻眼睛使用偏振。我怎樣才能用C#編寫一個程序,在這個系統中顯示一個簡單的3D對象?我不想在2D媒體(透視圖)中顯示3D對象,但顯示的3D對象與使用3D玻璃在3D電影中看到的相似。創建真實的3D形狀

任何進一步研究的建議是高度讚賞。

問候

回答

3

你需要做的是爲每隻眼睛顯示圖像之一。每幅圖像都是一個透視圖,但是從兩個稍微不同的角度來看 - 關於你眼睛的距離。

通過極化或更可能的LCD Shutter glasses進行查看時,您會看到3D對象的錯覺。

在這種情況下,每隻眼睛的視圖交替出現在屏幕上,並且信號被髮送到眼鏡變得清晰或不透明,以便在每隻眼睛中看到正確的圖像。

對於無源系統,您必須爲左右眼圖像使用兩臺投影機,並確保它們完全對齊,以便圖像正確重疊。如果你錯了,你不會得到很好的3D效果。

在這兩種情況下,您需要爲您的模型創建兩個視圖併爲您顯示的每個框架渲染每個視圖。我曾經在這方面工作過一段時間,寫了a blog post其中包括我們如何做立體聲系統的概述。

+0

雖然你當然是對的,但我認爲主要的問題是告訴圖形驅動程序何時顯示哪個視圖。您需要顯卡才能進入3D視覺的另一種視頻模式。另外,OP要求提供被動(偏振)立體視覺,所以沒有信號發送到眼鏡。 – slhck 2011-03-19 21:15:49

+0

@slhck - 你不能用一臺筆記本電腦屏幕來做被動系統。你需要雙投影機 - 你可以從一臺筆記本電腦上開車。 – ChrisF 2011-03-19 21:18:14

+0

@ChrisF Hm,理論上可以有沒有兩臺投影儀的被動顯示器。然而,大多數筆記本電腦都配備了活動眼鏡。 – slhck 2011-03-19 21:21:03

0

我認爲你需要使用OpenGL或Direct3D直接編程。爲了讓屏幕顯示實現3D效果所需的極化視圖,圖形卡需要知道它需要顯示的內容。有些想法參見here