Entwickler-Ecke
Multimedia / Grafik - Professionelle Spiele ohne gltranslatef und glrotatef ... ?!
Blackbird - Mo 02.12.02 14:02
Titel: Professionelle Spiele ohne gltranslatef und glrotatef ... ?!
Bin gerade dabei ein kleines Spielchen zu programmieren und dabei ist mir aufgefallen , das man ja eigentlich gltranslte und glrotate gar nicht benutzen kann (da es sinnlos wäre), denn man muss ja die Objekte (z.B. Spieler, Gegenstände...) selbst bewegen - für Collision Detection zum Beispiel muss man die ganeuen Koordinaten kennen.
Wenn ich jetzt aber ein Object mit glTranslate verschiebe, kann ich ja nicht mehr die eigentlichen Koordinaten auslesen und damit nicht mehr genau bestimmen wo es jetzt ist, es sei denn, ich schreibe eine "eigene" translate Funktion, die auf den Positionsvektor einwirkt.
Quake 3 zum Beispiel benutz weder gltranslatef noch glrotatef...
Andreas Pfau - Mo 02.12.02 17:26
Da gibt es doch so was wie "Selection-Mode"... ich glaube, damit kannst du die Vertices ermittlen... schau di mal
http://www.geocities.com/SiliconValley/5759/kapitel10.html an, ich kenne mich damit nicht so aus, aber villeicht kanns helfen.
Außerdem: auf [url]
http://www.idsoftware.com[/url] findest du irgendwo den Quelltext von QuakeIII. Zwar nur in C++, aber villeicht kannst du damit rausfinde, wie's ohne glRotate geht...
Aya - Di 03.12.02 22:58
Hi,
also für mein Snake3D hab ich viel glTranslate und glRotate benutzt...und ich wußte jedesmal die genauen koordinaten :)
Ich hab Keine ahnung ob's die feine methode ist, aber es geht auf jedenfall... jedesmal wenn ich etwas mit glTranslate verschiebe, mache ich das gleich dannach wieder rückgängig, so das glTranslate IMMER bei 0,0,0 startet...
Beispiel:
Quelltext
1: 2: 3:
| glTranslate(5,0,6); glCallList(Bla); glTranslate(-5,0,-6); |
dasselbe mit glRotate... :)
(Kannst auch einfach glLoadIentity aufrufen, setzt auch alles auf 0)
Au'revoir,
Aya
PS: Das QuakeIII ohne diese sachen auskommt liegt denke ich mal daran, das es völlig anders aufgebaut ist... bei Quake werden die Koordinaten jedes Vertex'es berechnet und ejdesmal neu gezeichnet. das einzige was sich bewegt ist die Kamera, und die braucht man nicht mit glTranslate o.ä bewegen...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!