DGL
https://delphigl.com/forum/

ortho projektion im shader mit rendermonkey
https://delphigl.com/forum/viewtopic.php?f=20&t=4423
Seite 1 von 1

Autor:  alexandra [ Do Aug 11, 2005 15:46 ]
Betreff des Beitrags:  ortho projektion im shader mit rendermonkey

hi,

und zwar habe ich eine frage betreffs der orthogonalen projektion in einem shader. wie gesagt ich entwickle meine shader programme mit rendermonkey und möchte nun nciht die normal perspektivische Projektion verwenden sondern eine ganz normale orthografische:

perspective projection:
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;

ich habe einfach versucht die projektionsmatrix einer ortho projektion aufzubauen und diese an die stelle der perspektivischen zu setzten. die near und far clipping planes werden defautl von rendermonkey gesetzt.
far clipping plane at 1000
near clipping plane at 1
(default values in rendermonkey)

mat4 OrthoProjektion =
mat4(1.0, 0.0, 0.0, 0.0,
0.0, 1.0, 0.0, 0.0,
0.0, 0.0, -2.0/999.0, -1001.0/999.0,
0.0, 0.0, 0.0, 1.0);

gl_Position = OrthoProjektion * (gl_ModelViewMatrix * gl_Vertex);

so das funktioniert aber leider nicht. keine ahnung warum. es sieht einfach noch viel doller perspektivisch aus.
ausserdem komme ich auch nciht an einen opengl code ran so das ich dort gl_Ortho eingeben könnte.
vielleicht kann mir ja irgendwer weiterhelfen.

thanks alexandra

Autor:  Flash [ Do Aug 11, 2005 17:15 ]
Betreff des Beitrags: 

Also...zuerst mal ist die Rechtschreibung keine Projektion :mrgreen: Was du meinst ist bestimmt die Orthogonale Projektion. ;)

Ok, genug gelästert.

Was mir bei deiner Orthogonalen Matrix auffällt ist, dass sie gedreht ist. OpenGL verwendet Spaltenorientierte Matrizen. Anscheinend hast du die falsch interpretiert. Versuch mal die Indizes zu vertauschen.
Die Idee ist nämlich ansonsten richtig. (Glaub ich ;) )

Autor:  Vertex [ Sa Aug 13, 2005 22:07 ]
Betreff des Beitrags: 

procedure glOrtho(left, right, bottom, top, znear, zfar : double);

Bild

Zitat:
mit f = zFar, n = zNear
l = left, r = right
t = top, b = bottom


Bei dir müsste doch right-left = 2.0 und top-bottom = 2.0 sein. Komischer Viewport mit 2*2 Pixel Größe. Ansonsten eben Transponieren nicht vergessen.

mfg olli

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/