Seite 1 von 1

Reine 2D-Screens in Programm mit 3D?

Verfasst: 07.12.2012 18:18
von TheCreepyProgramer
Hallo,

ich habe (mal wieder) ein Problem bezügl. der 3D-Engine. Ich möchte je nach Variablenwert unterschiedliche Screens darstellen, wobei einer mit der 3D-Engine gerendert wird, der andere soll aber reines 2D sein. Wenn ich jedoch einfach ohne irgendwelche 3D-Daten geladen zu haben ein Sprite auf dem Schrim darstellen will, funktioniert das nicht, auch nicht, wenn ich ein RenderWorld() in die Zeile davor setze. Ist das überhaupt möglich?

PS: Wenn ich unter Linux ein Programm mit der 3D-Engine kompilliere, dann findet er die "engine3d.so" nicht, obwohl sie im selben Verzeichnis liest.

Re: Reine 2D-Screens in Programm mit 3D?

Verfasst: 07.12.2012 19:28
von STARGÅTE
TheCreepyProgramer hat geschrieben: Wenn ich jedoch einfach ohne irgendwelche 3D-Daten geladen zu haben ein Sprite auf dem Schrim darstellen will, funktioniert das nicht, auch nicht, wenn ich ein RenderWorld() in die Zeile davor setze. Ist das überhaupt möglich?
Sprite und sogar Sprite3D lassen sich mit der 3D-Engine verbinden.
Wichtig ist nur, dass eine 3D-Szene existieren muss (also zB Camera im leeren Raum).
Danach kannst du ohne Probleme zwischen RenderWorld() und FlipBuffers() mit Sprites abreiten.

Re: Reine 2D-Screens in Programm mit 3D?

Verfasst: 07.12.2012 19:39
von TheCreepyProgramer
Vielen Dank, Stargate, es hat funktioniert. Wäre aber denke ich hilfreicher, wenn in der Hilfe dazu ein Hinweis stehen würde.

Re: Reine 2D-Screens in Programm mit 3D?

Verfasst: 10.12.2012 18:21
von TheCreepyProgramer
Guten Abend,

muss ich, wenn ich schon 3D-Daten geladen habe, diese erst entladen? Ansonsten wird mir ja immer mit schnellem Flackern die Welt angezeigt abwechselnd mit dem 2D-Screen.

Re: Reine 2D-Screens in Programm mit 3D?

Verfasst: 10.12.2012 18:58
von STARGÅTE
Nein musst du nicht, das Flackern kommt vermutlich daher, das du zwei mal FlipBuffers() verwendest?

Eigentlich reicht folgender Code:

Code: Alles auswählen

Repeat
  RenderWorld()
  ClearScreen(0)
  ; 2D-Zeug
  FlipBuffers()

Re: Reine 2D-Screens in Programm mit 3D?

Verfasst: 10.12.2012 19:03
von TheCreepyProgramer
Oh stimmt, danke.