3d stereo Rendering to Support High Quality Stereoscopy



Pobieranie 0.71 Mb.
Strona5/7
Data26.10.2017
Rozmiar0.71 Mb.
1   2   3   4   5   6   7

Rys. 3. Wykorzystanie sprzętu stereo: a) wirtualna sala operacyjna – wykorzystanie okularów migawkowych [1], b) system treningowy do operacji oka wykorzystuje hełm HMD [2].
3. Tworzenie płaskiego obrazu perspektywicznego sceny 3D
Wirtualna stereoskopowa kamera powinna mieć cechy wspólne z systemem wzrokowym człowieka. Takiej kamery nie oferują standardowe biblioteki graficzne, ponieważ zostały one ukierunkowane na generowanie obrazów przeznaczonych na płaski ekran monitora. Tym samym wirtualna kamera tych bibliotek zbudowana jest na analogiach z kamerą filmową. Aby można ją było wykorzystać do tworzenia obrazów pary stereo, niezbędna jest wiedza o tym, jak jej parametry wpływają na płaski obraz sceny 3D.

W celu wygenerowania perspektywicznego obrazu sceny 3D należy ustawić kamerę w odpowiednim miejscu (E) sceny, skierować ją w pożądanym kierunku (VD), wybrać kąt pola widzenia (nazywany FOV), proporcje rzutni (Aspect=w/h) będące z reguły także proporcjami obrazu oraz odległości (Near i Far) płaszczyzn obcinających od kamery (rys. 4). FOV i Aspect definiują nieskończoną symetryczną piramidę widzenia, której oś symetrii leży wzdłuż kierunku patrzenia kamery. Płaszczyzna bliska i daleka obcinają tę piramidę do ściętego ostrosłupa nazywanego symetryczną perspektywiczną bryłą widzenia. Rzutowane są tylko te obiekty (lub ich części), które znajdują się wewnątrz bryły widzenia.





Rys. 4. Symetryczna perspektywiczna bryła widzenia.
Mózg nie interpretuje wprawdzie świata za pomocą perspektywy lecz zna ją bardzo dobrze, więc obraz o błędnej perspektywie zostanie odebrany przez człowieka jako nienaturalny. Na perspektywę nie ma wpływu to jak daleko do kamery zostanie ustawiona rzutnia, istotny jest natomiast kąt pola widzenia, który dla ludzkiego oka wynosi 90 i jest taki sam w każdym kierunku od osi widzenia oka (-45 ÷ +45) [9]. Wirtualna kamera symuluje układ optyczny kamery rzeczywistej, a nie układ optyczny oka. Przy dużej wartości FOV (rzędu 90), charakterystycznej dla kamer szerokokątnych, obserwator będzie wprawdzie widział znaczny obszar sceny ale obiekty odleglejsze od kamery „uciekną” wtedy w głąb sceny, natomiast obiekt bliski będzie narysowany w ostrej niepokojącej perspektywie ze zdeformowanymi kątami prostymi. Przyjęcie małych wartości FOV (np. rzędu 20) spowoduje pokazanie sceny w spokojnej płaskiej perspektywie tak, jak na zdjęciu wykonanym teleobiektywem, który przybliża odległe obiekty. Oprogramowanie graficzne żąda podania FOVx (kąta poziomego) lub FOVy (kąta pionowego). Kąty te wiąże Aspekt rzutni, więc łatwo jest je przeliczyć:

(3)

Jak wiadomo zrzutowana scena 3D jest odwzorowywana na zadany obszar ekranu o rozmiarze (widthheight) pikseli, nazywany Viewport. Stąd proporcje rzutni powinny być takie same, jak proporcje obrazu na ekranie i Aspect = width / height. Dla aplikacji pełnoekranowej Aspect=4/3, więc na przykład dla zadanego FOVy=45 poziomy kąt widzenia FOVx=57 (r. 3).


4. Tworzenie pary stereo
Rzutowanie z symetryczną bryłą widzenia zakłada, że obserwator (kamera) jest ustawiony centralnie względem okna, przez które ogląda świat. Załóżmy, że obserwator przesunął się nieco w lewo, aby zobaczyć większy obszar świata z prawej strony lub przemieścił się w prawo chcąc widzieć więcej po stronie lewej. Rozumowanie to prowadzi bezpośrednio do idei rzutowania stereoskopowego opartej na spostrzeżeniu, że dla człowieka ustawionego centralnie przed oknem linie wzroku każdego oka przesunięte są odpowiednio w lewo lub w prawo względem środka okna. Zasymulowanie takiej sytuacji wymaga dwóch asymetrycznych brył widzenia, których osie nie pokrywają się z kierunkami patrzenia (VD) kamer reprezentujących oczy, a pola widzenia kamer zaplatają się w tej samej płaszczyźnie (rys. 5a). Poziomy kąt widzenia (FOVx) reprezentuje teraz pole widzenia przestrzennego, które jest szersze od pola widzenia pojedynczego oka i u człowieka wynosi około 120 [9]. Dla uzyskania dobrej jakości efektu stereo rekomendowany jest poziomy kąt pola widzenia FOVx50 [5].

Zauważmy, że oknem, przez które patrzy oko (kamera) jest bliska płaszczyzna obcinania bryły widzenia. Definiując krawędzie Left, Right, Bottom, Top lub wierzchołki A, B tej płaszczyzny w układzie współrzędnych kamery, uzyskuje się ogólną perspektywiczną bryłę widzenia (rys. 5b). Także i w tym przypadku obserwowana na obrazie perspektywa sceny nie zależy od tego, jak daleko od kamery jest ustawiona rzutnia. Zauważmy również, że gdy oś symetrii bryły widzenia pokryje się z kierunkiem patrzenia kamery to Right = -Left, Top= -Bottom i asymetryczna bryła widzenia stanie się symetryczna. O ile definicja ogólnej perspektywicznej bryły widzenia jest koncepcyjnie prosta, to określenie jej parametrów Left, Right, Top, Bottom nie jest łatwe i intuicyjne dla użytkownika. Dlatego biblioteki graficzne (nnp. OpenGL, DirectX) z reguły oferują programiście możliwość definiowania dwóch perspektywicznych brył widzenia – symetrycznej i ogólnej, natomiast wewnętrzny potok renderingu używa ogólnej perspektywicznej bryły widzenia, co umożliwia ujednolicenie i uproszczenie procesu obcinania i rzutowania obiektów sceny 3D w trakcie renderingu.




a)

b)

Pobieranie 0.71 Mb.

Share with your friends:
1   2   3   4   5   6   7




©operacji.org 2020
wyślij wiadomość

    Strona główna