Forum » Programiranje » [c#] openGL - perspektiva
[c#] openGL - perspektiva
urosz ::
narisano imam kocko (6 plasti, vsaka plast 4 povezana oglišča). kocka je debela 20px (v rangu od 0-20 po x, y, z). Premaknjena je še za 200px po x in y oseh, ter skalirana 5x.
sedaj imam paralelno projekcijo (kocko vidim le v sprednjo ploskev):
Kako bi kocko prikazal v perspektivni projekciji (videl bi tudi recimo zgornjo in eno stransko ploskev. Poskušal sem že z gluPerspective, vendar nikakor ne dobim nič pametnega.
sedaj imam paralelno projekcijo (kocko vidim le v sprednjo ploskev):
GL.MatrixMode(MatrixMode.Projection); GL.LoadIdentity(); GL.Ortho(0, w, 0, h, 100, -100); GL.Viewport(0, 0, w, h);
Kako bi kocko prikazal v perspektivni projekciji (videl bi tudi recimo zgornjo in eno stransko ploskev. Poskušal sem že z gluPerspective, vendar nikakor ne dobim nič pametnega.
Senitel ::
Pravokotna projekcija gre od 0, 0 (lev spodnji rob) do w, h (desni zgornji rob). Perspektiva gre od -1, -1 do 1, 1 in željen razpon po z. Če bo kakšna ideja.
urosz ::
recimo če odstranim skaliranje in premik, imam kocko 20px v koordinatah od (0,0)-(20,20). perspektivno moram gledat potem kako? po x in y (-1,-1) do (1,1), razpon po z pa recimo 50-0?
kako to implementirat v opengl?
kako to implementirat v opengl?
urosz ::
s tem recimo nastavim projekcijo in nastavim oko, od kje gledam:
to oko bi pomojem moralo videt kocko, ampak je ne. kaj delam narobe?
GL.Frustum(-1.0, 1.0, -1.0, 1.0, 50, 0); OpenTK.Graphics.Glu.LookAt(0, 0, 50, 0, 0, 0, 0, 1, 0);
to oko bi pomojem moralo videt kocko, ampak je ne. kaj delam narobe?
KaRkY ::
@urosz preberi si to knjigo ti bo bolj jasno kako to funkcionira.
When you look long into an abyss, the abyss looks into you
Senitel ::
Zakaj sedaj menjava na frustrum? Znear = 50, Zfar = 0 ti obrne zadevo. Znear = 0 je nekaj kar se ne sme zgodit (lahko je 0.0001, 0 pa ne sme bit).
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Matlab problemOddelek: Pomoč in nasveti | 1442 (866) | bluefish |
» | Pomoč pri programiranju z javoOddelek: Programiranje | 3545 (2472) | milc |
» | Python iskanje podvojenih vrednostiOddelek: Programiranje | 1488 (1201) | BlueRunner |
» | WPF 3d prostor - Spotlight, ne znam uporabljatOddelek: Programiranje | 1727 (1487) | Tutankhamun |
» | Problem škatel (strani: 1 2 )Oddelek: Programiranje | 3796 (2893) | svit |