KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: Monzoom - Objektkonverter nach PSP GU
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo alle zusammen,
bedingt durch mein aktuelles Projekt für die PSP, welches ich in C++ programmiere habe ich einen Konverter geschrieben der 3D Objekte die in Monzoom (ehemals Reflections) erstellt wurden in für die PSP GU Datenstrukturen konvertiert und darstellt.
Nun habe ich überlegt diesen Teil in einer library auszulagern und anderen Zurverfügung zustellen. Bevor ich diesen Aufwand treibe hier nun die Umfrage ob überhaupt Interesse an einer solchen Bibliothek besteht. Monzoom ist recht alt und als Vollversion frei erhältlich (hier).
Ich hab da mal ne frage welches Dateiformat wird denn benötigt um auf der PSP 3d Objekte oder Welten darzustellen? Gibts da auch konverter fürn PC?

PS: Kann man mit Blender 3D auch für die PSP was machen?
Also Interesse besteht auf jeden Fall.
Hi,

also die PSP braucht kein besonderes Dateiformat in dem Sinne, aber die GU verlangt die Punkte bzw. die Dreiecke aus denen ein Objekt besteht in einem Bestimmten Format. Ebenso die Textur, Farbe etc. Da hat jedes 3D Programm - auch Blender - seine eigenen Formate. Jedoch weiß ich, dass es für Blender Tutorials gibt, in denen erklärt ist, wie man dort Skripte nutzen kann um die 3D Objektdaten so in ein File zu schreiben, dass man es ohne große "Rechnerei" direkt als Basis für die GU nutzen kann. Da ich mir vor langer Zeit mal Reflections/Monzoom gekauft habe komme ich mit dem Tool besser zurecht als mit Blender, darum habe ich mir den Konverter geschrieben...

Für'n PC gibt es eine Monzoom DLL und eine C++ Header-Datei die dir den Zugriff auf ein Monzoom-File aus C++ Programmen auf'm PC ermöglicht. Was du damit dann machst (OpenGL oder Direct3D) ist dann dir überlassen. Mein Konverter ziehlt darauf den Dateizugriff zumachen und für GU Objekte zu erzeugen die man dann direkt rendern kann...
Achso danke! Dann werd ich mal schaun wie man das so mit Blender realisieren kann weil ich bisher nur mit diesem programm gearbeitet habe.
Interpretiert die Libary also die 3D Modelle und speichert sie in einer Array ab ?
Hi,

zur Zeit werden die Daten aus dem File in Objekt-Instanzen übersetzt.
Dabei werden die Punkte als Vertices mit Ihren Farbwerten und Normalen abgelegt. Die verwendeten texturen werden geladen und verwaltet. jedes Objekt stellt dabei eine RenderMethode bereit.

Die Idee ist: In einer Homebrew die 3D über die GU realisiert kannst du eine 3D Objektliste aus einem MonzoomFile erzeugen. Sollen diese Objekte dann dargestellt werden kanns du in einer Schleife über diese Objekte die Render methode aufrufen. Dies "zeichnet" die Objekte an genau die Stelle die sie in der Szene des Files hatten. Zusätzliche manipulation wie translation/rotation/skalierung durch die GU gehen natürlich auch.

als Pseudo-Code sieht das in meinem Projekt etwa so aus:
ObjektListe = ladeSzene("Szene.mon");
for anzahl(ObjektListe)
objekt->render
end

Der für meinen Anwendungsfall konzipierte Konverter ist natürlich noch Erweiterungsfähig und hat auch Einschränkungen, da nich alles von einem Raytrace-Programm in die GU überführt werden kann. Ob ich diesen aufwand treibe und das ganze dann auch als Source zur Verfügung stelle hängt z.T. vom Ergebnis dieser Umfrage ab, da da noch ein ganzes Stück Arbeit auf mich wartet das dann als Library aus dem Projekt herauszulösen und noch die eine oder andere "Macke" zu entfernen ;o)
Meinst du mit Rendern sceGuDrawArray oder noch etwas ganz anderes ?
(Ich versuche es zu verstehen Big Grin)
Hi,

jepp genau das meine ich, wobei ja manchmal auch das Blending gesetzt sein will, textur etc. also alles was zu sceGumDrawArray dazugehört ;o)
Ich hab mich noch nicht mit 3D und auch nicht mit Texturen auseinader gesetzt sondern nur mit simplen Sachen, wie Kreisen etc.
Kein Problem...
einiges soll dir diese Lib ja dann "abnehmen"...so dass du in Monzoom deine 3D-Objekte modellierst und mit Texturen versiehst und das ganze dann einfach in deinen PSP Homebrews verwendest. Dann brauchst du in deinem PSP homebrew keine Vertex-Listen mehr von "Hand" aufzuschreiben, so dass diese dann ein Sinnvolles Objekt ergeben...
Ich hatte mich schon letztens gefragt, ob es sowas für die PSP gibt. Als ich so ne Vertex gesehen hab.
Wäre bestimmt sinvoll, wenn du sowas machen würdest, auch wenn die meisten damit nichts anfangen können.
Hi,

danke für das Feedback. Auch wenn die Beteiligung an der Umfrage ein wenig hinter den Erwartungen hinterherhängt Smile, scheint dennoch Interesse zu bestehen (aktuell 100% ;D). Darum werde ich mich nun an's Werkmachen und mal diesen Konverter in eine Library packen und eine kleine Demo-Homebrew dafür schreiben...ich hoffe ich kann euch in einer oder 2 Wochen eine erste Version vorstellen...
Nice! Wär ne super Sache Big Grin
Wär super!
Sorry, hab auf Nein geklickt, meine Maus spinnt -.-
Referenz-URLs