Leveleditor Coden für 3D Game



  • Hi,

    ich code gerade ein 3D Action Adventure und will/muss nun einen Leveleditor dafür erstellen. Ich hatte mir das so gedacht wie der Half-Life editor: ein 4 Fenster system mit Draufsicht, Frontal ansicht, seiten ansicht und 3D Rendering.

    nun ich weis aber keinen ansatz wie ich diese 4 Fenster mache 😞 Jemand Tipps oder Samples?



  • MFC Anwendung 4 Fenster reinknallen, per DDraw, D3D oder OpenGL einen Rendering Context für jedes Fenster erstellen (Bei D3D und OGL musst du natürlich ortho-mode verwenden) und fertig. Das verwalten der 3D Objekte und bearbeiten über 3 Fenster ist wohl das schwierigste an der Sache.


  • Mod

    über die contextgrenzen hinweg kann man mit oGL die daten nicht verteilen, also mußt du alles mehrere male einladen... suboptimal. kann dir auch einfach ein fenster generieren und in 4 bereiche davon rendern, schliesslich kann man mit oGL und D3D angeben wo das Renderrect liegt.

    du hättest nur aufwand beim input und dabei 4 verschiedene cameras zu setzen, die ganze scene an sich müßte nur einmal verwaltet werden.

    rapso->greets();



  • rapso schrieb:

    ...über die contextgrenzen hinweg kann man mit oGL die daten nicht verteilen...

    Öh... Wo ist das Problem ? 😕


  • Mod

    du kannst die daten nicht über die rendercontexte hinweg managen, jede textur und jedes mesh muss für jedes fenster seperat in die graka geschoben werden...

    rapso->greets();



  • Hmm kann nicht sein. Auf jeden Fall hab ich es schon mal ohne grossen Aufwand geschafft ein und die selbe Szene in 2 Fenstern parallel zu rendern 😕


  • Mod

    ich sage ja nicht, dass es nicht geht, nur wenn man für jedes einen kontext anlegt, dann sollte es nicht gehen... sicher bin ich mir da nicht, weil ich das zu selten mache und editoren coden sowieso hasse 😃

    aber früher hab ich das mal als problem gehabt mit mehreren rendercontexts die texturen nur einmal laden zu müssen.

    rapso->greets();



  • ich hab gelesen das es auf der NeHe- Homepage ein tutorial dazu gibt


Anmelden zum Antworten