Hilfe mit richtiger Perspektive!
-
und wie?
-
Steht doch in der Hilfe drinnen. Du definierst einfach mit den sechs Parametern die Ebenen des Frustums (das in dem Fall eine Box ist).
-
aber das GluPerspective kann so stehen bleiben oder wie?
und ich muss dann immer bevor ich nen würfel oder ein anderes object zeichnen will diesen aufruf machen?
habt ihr evtl. irgendwo code wo ich mir das mal anschaun kann?Gruß Tobi.
-
siehe Red Book:
-
na dann lag ich doch richtig mit meiner ausage oder?
gluPerspective() bleibt wie gehabt und wenn ich den cude zeichnen will push ich erstmal die matrix den loadidentity dann glOrtho() mit den größen des cudes ausfüllen und dann popmatrix... so gehts oder?
-
boahr man... ich kriegs trotzdem net hin... sieht trotzdem noch aus wie nen pyramiedenstumpf außerdem ists dann kein würfel mehr sondern nur noch nen quarder
-
T0bi schrieb:
na dann lag ich doch richtig mit meiner ausage oder?
gluPerspective() bleibt wie gehabt und wenn ich den cude zeichnen will push ich erstmal die matrix den loadidentity dann glOrtho() mit den größen des cudes ausfüllen und dann popmatrix... so gehts oder?
?? Könntest du vorm Abschicken deiner Postings diese vielleicht nochmal durchlesen? Und es heißt Cube und nicht cude (schreib doch einfach Würfel).
Zum Problem: Nein du braucht NICHT gluPerspective. Du hast in der Pipeline genau eine Worldmatrix, eine Viewmatrix und auch nur eine Projektionsmatrix. Du nimmst also entweder eine perspektivische Projektion ODER eine orthografische (oder was auch immer).
-
@cude, ich weiß das es cube heisst, man darf sich ja mal vertippen?
und muss der aufruf der funktion für mein 2*2*2 würfel( 2 = 1 in positive richtiung und 1 in negative richtung ), dann so ausschaun?
glOrtho( 0.0, 2.0, 0.0, 2.0, 0.0, 2.0 );
und kann es sein das das die glTranslatef() nicht mehr geht?
Gruß Tobi.
PS: die OpenGl fenster maße: 640 * 480
-
ahaa ^^
ich glaub so geht oder:void Zoom( int iLeft, int iRight, int iTop, int iBottom, float fZoom ) { glMatrixMode( GL_PROJECTION ); glLoadIdentity( ); glOrtho( iLeft * fZoom, iRight * fZoom, iTop * fZoom, iBottom * fZoom, -50.0f, 50.0f ); glMatrixMode( GL_MODELVIEW ); }
-
Die Größe des Fenster hat mit glOrtho nix zu tun, die brauchst du nur beim Setzen des Viewports.
Bei glOrtho stell dir einfach vor du sitzt in einem Quaders und dann gibts du den Abstand zur linken Wand an, dann zur Rechten, dann zur ... .