Rozważamy zakup monitora LCD z obsługą 3D wraz z maszyną wyposażoną w stereoskopową kartę graficzną 3D (ATI Radeon 5870 lub lepsza). Służy do wyświetlania niektórych danych naukowych, które renderujemy w 3D przy użyciu OpenGL. Czy możemy teraz oczekiwać, że procesor graficzny, monitor i okulary ochronne zajmą się stereoskopowym wyświetlaczem, czy też musimy zmodyfikować program do renderowania? Jeśli istnieją specyficzne techniki programowania grafiki w przypadku stereoskopowych wyświetlaczy 3D, niektóre linki do tutorialu będą bardzo doceniane.Czy renderowanie OpenGL może być używane w monitorach 3D?
Odpowiedz
Technikalnie przepisy OpenGL dotyczące wyświetlania stereoskopowego. Słowo kluczowe to "Quad Buffered Stereo". Możesz zmienić rendering lewego i prawego oka na glDrawBuffer(GL_BACK_LEFT); /* render left eye view */; glDrawBuffer(GL_BACK_RIGHT); /* render right eye view */;
.
Niestety, Quadbuffer stereo jest uważany za profesjonalną funkcję sprzedawców GPU. Potrzebujesz karty NVidia Quadro lub karty graficznej AMD/ATI FireGL, aby uzyskać wsparcie.
Renderowanie stereoskopowe nie jest wykonywane przez pochylenie oczu, ale przez zastosowanie "przesunięcia obiektywu" w matrycy projekcji. Szczegóły są jednak nieco trudne. W zeszłym roku rozmawiałem na ten temat, ale najwyraźniej związek ze slajdami z prezentacji uległ pogorszeniu.
Schemat kluczem jest to jeden (to z moich notatek mojego patcha do Blender bezpośrednie wsparcie stereoskopowego rendering)
- 1. Odległe renderowanie obiektów 3D [gry]
- 2. Renderowanie ognia w OpenGL
- 3. OpenGL - Renderowanie w teksturę
- 4. Renderowanie wielowątkowe na OpenGL
- 5. OpenGL ES Renderowanie do tekstury
- 6. OpenGL vs OpenGL ES 2.0 - Czy aplikacja OpenGL może być łatwo przeniesiona?
- 7. OpenGL: Szybkie renderowanie poza ekranem
- 8. OpenGL + Mesa 3D + MinGW
- 9. Renderowanie wielowątkowe D3D/OpenGL/Cokolwiek
- 10. Jak animować model 3d (siatkę) w OpenGL?
- 11. Ładowanie modelu 3d do OpenGL
- 12. SDL vs GLUT w programowaniu 3D OpenGL
- 13. Co może być używane jako dwustronny słownik zasobów?
- 14. Czy pseudoelementy mogą być używane samodzielnie w CSS?
- 15. Czy sqlite może być również bazą danych?
- 16. OpenGL ES 2d renderowanie do obrazu
- 17. Czy JavaScript może być bootowany?
- 18. W puli ABI Win64, czy zarezerwowane miejsce stosu argumentów może być używane do przechowywania ogólnego przeznaczenia?
- 19. Renderowanie OpenGL ES 2.0 do obrazu
- 20. powinno być kiedykolwiek używane encodeURI?
- 21. Czy F # TypeProviders mogą być używane w aplikacji Windows Store?
- 22. Czy słowniki mogą być używane w języku C++
- 23. Czy Django powinno być używane w dużych, złożonych witrynach?
- 24. Czy javascript może być wbudowany w WebPacka?
- 25. Czy EntryElement może być wieloliniowy w MonoTouch.Dialog?
- 26. Czy metoda w klasie może być generatorem?
- 27. Czy to może być rekurencyjne w Prologu?
- 28. Czy REST w praktyce może być bezpaństwowcem?
- 29. Czy zakres może być dopasowany w Scali?
- 30. Czy kontrakty Microsoft Code mogą być używane z witryną ASP.NET?
To było bardzo przydatne informacje. Specyfikacja Radeon HD5870: "Wsparcie dla stereoskopowego wyświetlania/okularów 3D" wprawiła mnie w zakłopotanie. Po uruchomieniu go w poszukiwaniu otwartego quada na Linuksie podejrzewam, że może to nie być możliwe na Linuksie. Z drugiej strony [this] (http://www.gali-3d.com/archive/articles/StereoOpenGL/StereoscopicOpenGLTutorial.php) mówi o sposobie wyświetlania stereo bez quad-bufora. Masz pomysł, jeśli jest to możliwe na kartach graficznych klasy konsumenckiej? – subhacom
Co zrobić z buforami renderowania? Jak zamienić je w synchronizację z monitorem? Jedynym rozwiązaniem w tym przypadku jest użycie 2 projektorów? – Luca
@ Luca Piccioni: Quadbuffer stereo przekazuje pracę zamiany/migawki kierowcy; synchronizacja z migawką w jednym kodzie jest możliwa, ale niewiarygodna. – datenwolf