Gledanje kamera Cevovod gledanja Graphics Pipeline Model Coordinates

  • Slides: 37
Download presentation
Gledanje - kamera

Gledanje - kamera

Cevovod gledanja (Graphics Pipeline) Model Coordinates Eye Coordinates Normalized Coordinates y Modelview Transform z

Cevovod gledanja (Graphics Pipeline) Model Coordinates Eye Coordinates Normalized Coordinates y Modelview Transform z = -1 Projection Transform z=1 x z gl. Scalef() gl. Rotatef() gl. Translatef() gl. Frustrum() glu. Perspective() Projected Normalized Coordinates y (1, 1) x (-1, -1) Window Coordinates Viewport Transform gl. Viewport()

Cevovod gledanja (viewing pipeline) (Px, Py, Pz) Modelview Matrix, VM Eye coordinates Projection Matrix,

Cevovod gledanja (viewing pipeline) (Px, Py, Pz) Modelview Matrix, VM Eye coordinates Projection Matrix, R Clip coordinates Clipping Perspective Division (x*, y*, z*) Normalized device coordinates Viewport Transformation, Vp

V Ravnina gledanja -N U eye

V Ravnina gledanja -N U eye

Groba klasifikacija projekcij Paralelna Perspektiva

Groba klasifikacija projekcij Paralelna Perspektiva

Klasifikacija planarnih projekcij Planarne projekcije Paralelna Poševna Perspektiva Pravokotna Enotočkovna Tritočkovna Dvotočkovna Cavalier Cabinet

Klasifikacija planarnih projekcij Planarne projekcije Paralelna Poševna Perspektiva Pravokotna Enotočkovna Tritočkovna Dvotočkovna Cavalier Cabinet Aksonometrična Multiview orthographic Izometrična Dimetrična Trimetrična

Pravokotna (ortografska) projekcija Je najbolj enostavna projekcija

Pravokotna (ortografska) projekcija Je najbolj enostavna projekcija

Ortografska projekcija

Ortografska projekcija

Paralelna projekcija Zaslon Dodajanje perspektive pogledu je le vprasanje skaliranja višine in širine predmeta,

Paralelna projekcija Zaslon Dodajanje perspektive pogledu je le vprasanje skaliranja višine in širine predmeta, odvisno od tega, koliko je predmet oddaljen od zaslona. Video

Perspektiva Zaslon

Perspektiva Zaslon

Pogledi - projekcije na ravnine Vzporedne poglede dobimo običajno s pravokotno, vzporedno projekcijo karakterističnih

Pogledi - projekcije na ravnine Vzporedne poglede dobimo običajno s pravokotno, vzporedno projekcijo karakterističnih točk predmetov na eno od ravnin xz, yz ali xz

Pogledi v tipičnem modelirniku Sprednji, stranski-desni, tloris-zgornji pogled so vzporedni projekcijski pogledi. Črte v

Pogledi v tipičnem modelirniku Sprednji, stranski-desni, tloris-zgornji pogled so vzporedni projekcijski pogledi. Črte v teh pogledih ne konvergirajo. Razdalja med objektom in kamero ne vpliva na velikost objekta, oddaljeni in bliznji predmeti so enako veliki.

Paralelne pravokotne projekcije (ortografske)

Paralelne pravokotne projekcije (ortografske)

Perspektivna projekcija vsebuje določen Cp in oponaša naš vid. Pri taki projekciji je velikost

Perspektivna projekcija vsebuje določen Cp in oponaša naš vid. Pri taki projekciji je velikost predmeta obratnosorazmerna od tega, kako daleč je objekt od CP. Taka projekcija zgleda realistično, vendar ne ohranja kotov in vzporednosti črt.

Perspektivne projekcije opomba: d je na sliki N

Perspektivne projekcije opomba: d je na sliki N

Perspektiva Paralelna (ortografska) kjer je

Perspektiva Paralelna (ortografska) kjer je

Tipi perspektiv Enotočkovna perspektiva Dvotočkovna perspektiva Tritočkovna perspektiva

Tipi perspektiv Enotočkovna perspektiva Dvotočkovna perspektiva Tritočkovna perspektiva

Lažna perspektiva

Lažna perspektiva

Volumen gledanja V prejšne preproste transformacije moramo vključiti volumen gledanja (view volume):

Volumen gledanja V prejšne preproste transformacije moramo vključiti volumen gledanja (view volume):

Volumen gledanja, stožec gledanja e) m olu ja an d lu Vo m gle

Volumen gledanja, stožec gledanja e) m olu ja an d lu Vo m gle n e w v e i v ( m) ru ust (fr a j n da gle c ože St Zadnja ravnina rezanja Prednja ravnina rezanja Razmerje = w h

Zadnja ravnina rezanja Prednja ravnina rezanja Izločeno Prikazano Rezano Izločeno

Zadnja ravnina rezanja Prednja ravnina rezanja Izločeno Prikazano Rezano Izločeno

Nekaj pojmov Up vector Width angle = Height angle • Aspect ratio Look vector

Nekaj pojmov Up vector Width angle = Height angle • Aspect ratio Look vector y x z Height angle Position Near distance Far distance

Nekaj matematike Bližnja ravnina Daljna ravnina

Nekaj matematike Bližnja ravnina Daljna ravnina

Transformacijske matrike Skaliranje (d/h v x in y) Prirezana piramida v navadno piramido Navadna

Transformacijske matrike Skaliranje (d/h v x in y) Prirezana piramida v navadno piramido Navadna piramida v kvader

Lokalni koordinatni sistem Cevovod 3 D upodabljanja Definicija predmeta Koordinatni prostor sveta Transformacije modela

Lokalni koordinatni sistem Cevovod 3 D upodabljanja Definicija predmeta Koordinatni prostor sveta Transformacije modela Kompozicija scene Definicija pogleda Definicija osvetlitve Prostor gledanja Transformacija gledanja Projekcija Odstranjevanje Rezanje v 3 D prostor gledanja 3 D prostor zaslona Deljenje projekcije Odstranjevanje zakritih ploskev Rasterizacija Senčenje Prostor zaslona

Stopnje transformacije verteksov Koordinate predmeta Matrika gledanja Tu vse transformacije uporabimo na vsaki točki

Stopnje transformacije verteksov Koordinate predmeta Matrika gledanja Tu vse transformacije uporabimo na vsaki točki Matrika projekcije Koordinate oči Deljenje perspektive Koordinate rezanja Matrika “Modelview” vsebuje trenutno transformacijsko matriko, CT Viewport Transformation Normalizirane koordinate Transformacije okna

Open. GL® Cevovod preslikav Matrika gledanja modela Matrika projekcije Delitev perspektive Transformacija viewport originalni

Open. GL® Cevovod preslikav Matrika gledanja modela Matrika projekcije Delitev perspektive Transformacija viewport originalni verteks Verteks v koordinatnem prostoru očesa 2 d projekcija verteksa na Rvnino gledanja Normalizirane koordinate naprave (normalised device Coordinates) Končne koordinate okna

Open. GL: Položaj in usmeritev kamere V U View plane eye -N gl. Matrix.

Open. GL: Položaj in usmeritev kamere V U View plane eye -N gl. Matrix. Mode (GL_MODELVIEW) gl. Load. Identity(); gl. Look. At (eye. x, eye. y, eye. z, look. x, look. y, look. z, up. x, up. y, up. z);

Open. GL: Postavitev kamere (Paralelna projekcija) gl. Matrix. Mode (GL_PROJECTION) gl. Load. Identity(); gl.

Open. GL: Postavitev kamere (Paralelna projekcija) gl. Matrix. Mode (GL_PROJECTION) gl. Load. Identity(); gl. Ortho (left, right, bottom, top, near, far);

Open. GL: Postavitev kamere (Perspektivna projekcija) gl. Matrix. Mode (GL_PROJECTION) gl. Load. Identity(); gl.

Open. GL: Postavitev kamere (Perspektivna projekcija) gl. Matrix. Mode (GL_PROJECTION) gl. Load. Identity(); gl. Frustum (left, right, bottom, top, near, far); or more intuitive glu. Perspective (view. Angle, aspect, near, far);

Transformacija window - viewport

Transformacija window - viewport

Svet in okno v svet Osnovna ideja: Svet in okno v ta svet Predstavitev

Svet in okno v svet Osnovna ideja: Svet in okno v ta svet Predstavitev sveta Okno v svet • Predstavitev sveta ostaja ista. • Okno v svet se spreminja, ko se premikamo v svetu, tj. okno v svet se premika.

Koordinate • Tako “okno v svet” kot “svet” imata oba koordinatni sistem. • Zaslon

Koordinate • Tako “okno v svet” kot “svet” imata oba koordinatni sistem. • Zaslon je množica pikslov (pixel = picture element). Kot tudi okno na namizju zaslona. Kot tudi območje znotraj okna. • Piksli tvorijo dvodimenzionalno mrežo s koordinatami (0, 0) v zgornjem levem in maksimalnim številom pikslov za dimenzijo v spodnjem desnem kotu, npr. : (1024, 768). • Tako so koordinate zaslona naslednje: (0, 0) (1024, 768)

Koordinate sveta • Črte so podane v koordinatah z izhodiščem, podanim v središču zaslona,

Koordinate sveta • Črte so podane v koordinatah z izhodiščem, podanim v središču zaslona, npr. : resolucija 1024 x 768 pomeni središčno točko (512, 384) • Vse transformacije: • izvedemo na koordinatah sveta, • ki jih preslikamo na koordinate zaslona. • Tako je izračun logičnih transformacij ločen od podrobnosti vidnega področja. • Model nočemo imeti vezan na resolucijo. Preslikava koordinat sveta na koordinate zaslona nam to omogoča.

Koordinate sveta Prikaz: Os y (512, 384, 0) Os x Os z (512, -384,

Koordinate sveta Prikaz: Os y (512, 384, 0) Os x Os z (512, -384, 0) (0, 0, 0) v koordinatah sveta (512, 384, 0) v pravih koordinatah • os Z je pravokotna na osi X in Y.

Koordinate sveta Primer: • točka (0, 0, 0) v svetu je (512, 384) na

Koordinate sveta Primer: • točka (0, 0, 0) v svetu je (512, 384) na zaslonu. • točka (100, -20, 0) v svetu je (612, 404) na zaslonu. • zaslonska koordinata X postane večja s pozitivno koordinato sveta X. • zaslonska koordinata Y postane večja z negativno koordinato sveta Y.