OpenGl - Paremeter der Blickrichtung richtig übergeben
-
Hi Leute,
und zwar bin ich shcon mehrere Tage am überlegen, wie ich am besten den Blickwinkel berechne. Und zwar möchte ich, egal wo man hinschaut, eine Kugel in die Richtung schiessen, hab abe rimmer wieder Probleme. Hab mich grad nohmal dran gesetzt, jetzt sieht der Code so aus :void Draw_Sphere() { x_running=x_fly; y_running=y_fly; z_running=z_fly; glTranslatef(x_fly,y_fly ,z_fly); fly_speed+=0.5f; GLUquadric *quadric; quadric = gluNewQuadric(); gluSphere(quadric,5,100,100); } int DrawGLScene(GLvoid) { glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT); glLoadIdentity(); Spieler_Richtung_y°=360.0 -y_rotate; Spieler_Richtung_x°=360.0 -x_rotate; glTranslatef(x_running,y_running,z_running); glRotatef(Spieler_Richtung_y°,0.0f,1.0f,0.0f); glRotatef(Spieler_Richtung_x°,1.0f,0.0f,0.0f); Draw_Ground(); Draw_back_wall(); Draw_left_wall(); Draw_right(); Draw_top(); if(keys[VK_UP]) { running_speed=0.5; x_rotate+=running_speed; return keys[VK_UP]=FALSE; } if(keys[VK_DOWN]) { running_speed=0.5; x_rotate-=running_speed; return keys[VK_DOWN]=FALSE; } if(keys[VK_RIGHT]) { running_speed=1.0; y_rotate-=running_speed; return keys[VK_RIGHT]=FALSE; } if(keys[VK_LEFT]) { running_speed=1.0; y_rotate+=running_speed; return keys[VK_LEFT]=FALSE; } if(Leertaste) { Draw_Sphere(); return false; } if (keys['F'] && !fp) { Leertaste=true; return keys['F']=false; } return TRUE; }Ich verstehe nicht wieso das nicht geht, ich übergebe die Paremeter schliesslich über eine andere Variable. Das Programm denkt also, mit der Translate wären komplett Alle Objekte gemeint. Ich möcht aber nur die Kugel schiessen.
Wollte erstmal nur mit der Z-Richtung arbeiten, weil es für den Anfang zu Komplex wäre. Ich hoffe einer hat verstanden, was ich meine. Danke für jegliche Antworten.Cucu
-
Was ist fp? Was genau machst du bei Draw_Sphere, was bringen die Variablen da?
-
und zwar bin ich shcon mehrere Tage am überlegen, wie ich am besten den Blickwinkel berechne
Und mit Blickwinkel meinst Du was genau?
Ich nehme an Du suchst den Vektor der aus der Sicht Deiner Kamera nach vorne zeigt?
Der ist gegeben durch die Kameramatrix. Kannste auslesen. Nuetzt Dir aber nix, weil Du nicht weisst, was eine Matrix ist.Und zwar möchte ich, egal wo man hinschaut, eine Kugel in die Richtung schiessen
Eben hast Du ja noch 'nen Winkel gesucht...
hab abe rimmer wieder Probleme
Das wissen wir schon.
jetzt sieht der Code so aus:
bla bla blaIch verstehe nicht wieso das nicht geht
Wir auch nicht. Wir wissen auch noch nicht mal was Du erreichen willst...
ich übergebe die Paremeter schliesslich über eine andere Variable.
Aha... Parameter fuer was? Welche Variable ueberhaupt?
Das Programm denkt also, mit der Translate wären komplett Alle Objekte gemeint.
Soso...
Wollte erstmal nur mit der Z-Richtung arbeiten, weil es für den Anfang zu Komplex wäre.
He?
Ich hoffe einer hat verstanden, was ich meine.
Glaube nich...
Danke für jegliche Antworten.
Bitte.
PS: Dieser Beitrag soll Dir lediglich aufzeigen, dass es unmoeglich ist Dir zu helfen wenn Du nichtmal in der Lage bist Dein Problem verstaendlich zu formulieren.
-
Pivkes Vorgang bei der Fragenstellung:
1.) Eine kurze völlig ungenaue und unvollständige "Schilderung" des Problems. 2.) Das Posten von allenlangem, mies formatierten Code ohne Fokussierung auf den Kern des Problems.Ich hoffe du verstehst, was ich dir sagen will.
