» »

[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):
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?

urosz ::

s tem recimo nastavim projekcijo in nastavim oko, od kje gledam:

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 ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Matlab problem

Oddelek: Pomoč in nasveti
281442 (866) bluefish
»

Pomoč pri programiranju z javo

Oddelek: Programiranje
203545 (2472) milc
»

Python iskanje podvojenih vrednosti

Oddelek: Programiranje
181488 (1201) BlueRunner
»

WPF 3d prostor - Spotlight, ne znam uporabljat

Oddelek: Programiranje
161727 (1487) Tutankhamun
»

Problem škatel (strani: 1 2 )

Oddelek: Programiranje
743796 (2893) svit

Več podobnih tem