GLBasic forum

Other languages => GLBasic - de => Topic started by: BumbleBee on 2005-Apr-09

Title: Objekt verschwindet plötzlich
Post by: BumbleBee on 2005-Apr-09
Hi

Hmm wie fang ich am besten an.  Also ich bewege mich mit einer Figur in einer 3D Welt an
einem Objekt vorbei. Das Objekt ist eine große (texturierte) Box (z.B. für ein langes Gebäude).
Die Kamera ist immer hinter der Figur. Plötzlich verschwindet das Objekt wenn sich die Figur
links oder rechts (schräg) daran vorbei bewegt oder wenn die Kamera gedreht wird.
Es müsste aber noch zu sehen sein.
Einfach mal im TruckDriver Beispiel das Haus vergrößern
(In Function DrawCity-- Case 56-- X_SCALING 4,4,4 einsetzen) und knapp vor dem Haus nach rechts fahren.
Etwa ab der Mitte ist das Haus weg.
Aber am extremsten sieht man's bei der Verfolgerkamera und das Objekt sollte nicht zu klein sein.
Ist das nur bei mir so oder ist das ein Bug?


Gernot kann mir da bestimmt weiterhelfen.

Danke schonmal



Cheers
Title: Objekt verschwindet plötzlich
Post by: Kitty Hello on 2005-Apr-09
Ja, Bug. Liegt daran, dass Objekte aufgrund Winkel zur Kamera und Brennweite nicht gezeichnet werden, damit's schneller geht. Dabei wird das eben nicht exakt berechnet, sondern nur "abgeschätzt", weil das eben viel, viel schneller geht. Durch diese kleine Ungenauigkeit ist eben dann auch der Fehler entstanden. Ich werd's mal beheben im nächsten Update.
Danke,
Gernot
Title: Objekt verschwindet plötzlich
Post by: Kitty Hello on 2005-Apr-09
So, nach 2 Std. Debuggen hab ich's endlich gefunden:
Es liegt im GLBasic-code:
Code (glbasic) Select
IF dx*dx+dy*dy <= radiusIch bin davon ausgegangen, dass die Objekte nicht viel größer als ein "Kartenblock" sind. Wenn man die linke shift-Taste hält, bekommt man eine Vogelperspektive, bei der klar wird, was ich damit alles ausschalte beim Rendern - das ist nur um es ein bisserl schneller zu machen. Das Clipping funktioniert intern gut - ich hab's jedoch nochmal angesehen, und gemerkt, dass einige Objekte hinter der Kamera auch gezeichnet wurden - das ist jetzt behoben -> noch schneller.

Bin ich froh, dass es kein Fehler in GLBasic war ;)

Freut' mich übrigens, dass jemand was mit dem TruckDriver macht. Ich hatte viel Hoffnung in das Projekt gesteckt, aber dann keine Zeit zum fertigmachen gehabt. Da würden Shops zum (ver)kaufen fehlen, und das Ganze wäre dann bisserl so wie Elite am C64...

Gruß,
Gernot