Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

1

22.10.2009, 10:59

ModelFusion Algorithmus

Hallo,

Ich habe hier ein Teil meines Projektes (einem FirstPersonShooter) auf der Homepage meiner 3D engine hochgeladen.
Diesen Teil habe ich als externes klein-Projekt verpackt und "Toolbox" genannt, sodass man es ohne die ganze GameEngine usw. nutzen kann.

Der ModelFusion Algorithmus soll, wie der Name schon verrät, zwei 3D Modelle ineinander verschmelzen bzw. Abschneiden. Angenommen ihr habt einen Quader den ihr als Zimmer in eurem LevelEditor habt und wollt nun ein Fenster, ein Loch oder eben eine Tür in euren Quader schneiden.
Mit der ModelFusion Funktion (diese Funktion besteht aus einer eigenen C++ Klasse) soll man nun in der Lage sein, ein weiteres 3D Modell als Schaplone zu nutzen, mit dem man nun ein Loch in den Quader schneiden kann. Das tolle daran ist, dass beide Objekte abgeschnitten werden (daher der Name Fusionieren) und egal wie dei beiden Objekte im Raum liegen, sie sollen perfekt abgeschnitten werden.

Klingt toll oder? Und ist eigentlich für die Entwicklung von Level für jede Art von Spiel sehr gut zu gebrauchen, daher will ich das auch später in meine 3D engine als fertiges 'tool' anbieten.

Wo ist der Haken?
Diese Funktion ist schon so gut wie fertig. Nur leider funktioniert es eben immer noch nicht richtig. Aber ich habe schon mal einen sehr großen Anfang. Die genaue Beschreibung des Algorithmus ist in dem Projekt als Kommentar in der "main.cpp" Datei.

Ich bitte euch daher nun euch das mal herunter zu laden, anzuschauen und zu versuchen, dass ihr mir vielleicht beim Lösen des Problems weiter helfen könnt. Als Dank, sofern ihr mir wirklich weiter helft - wenn auch keine 100% Lösung - kann ich euch anbieten, euren Namen auf meine Homepage unter "Special Thanks to" mit einzutragen :)

Hier ist der Download Link:
http://softpixelengine.sourceforge.net/download/Toolbox.zip

PS: GNU C++ Compiler und das SDK meiner SoftPixel Engine 1.8 beta wird zum kompilieren benötigt.
Eine vorkompilieren Version des ganzen ist bereits dabei mit SPE Dll.

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

2

22.10.2009, 11:17

ich als linux nutzer würde mich über ein buildsystem freuen, damit ich deine projekte einfach kompilieren und ausprobieren kann.
"Don't trust your eyes: They are a hell of a lot smarter than you are"

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

3

22.10.2009, 14:49

Das läst sich einrichten =)

Da meine neuste SPE Version auch unter Linux läuft.

Ich werde bis morgen ne Linux Version rausbrigen und schreib dann morgen hier noch was dazu ;)

Gruß, Lukas

PS: du kannst aber Theoretisch auch jetzt schon versuchen, mit der neusten SPE version und dem Code::Blocks Projekt ne Linux version einzurichten?
Oder hast du kein Code::Blocks und das ist dein Problem?

LukasBanana

Alter Hase

  • »LukasBanana« ist der Autor dieses Themas

Beiträge: 1 097

Beruf: Shader Tools Programmer

  • Private Nachricht senden

4

22.10.2009, 15:16

Okay vergiss das mit "morgen", ich habe eben gerade eine neue Version mit Linux support hochgeladen und natürlich eine zusätzliche vorkompilierte Anwendung dafür.
Du wirst dir aber trotzdem das SoftPixel Engine SDK herunterladen müssen, wenn du das neu kompilieren willst ;)
Gruß,
Lukas

5

22.10.2009, 16:07

Das hört sich für mich ziemlich genau nach boolschen Operationen an, die so ziemlich jedes Modelleierungsprogramm unterstützt. Und die Meshes die dabei herauskommen sind eigentlich nie so sauber, wie von Hand modelliert.

Ich meine, die Technik ist natürlich cool, und das Implementieren bestimmt eine ziemliche Leistung (habs nie gemacht^^), aber es ist eben doch irgendwie was altbekanntes, und wenn ich heutzutage ein Level baue, würde ich das nicht mehr aus einzelnen meshes wie damals machen, sondern halt komplett oder in Teilen, die dann zusammengesetzt werden in einem Modellierungstool machen.
Lieber dumm fragen, als dumm bleiben!

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

6

22.10.2009, 16:37

Zitat von »"LukasBanana"«


PS: du kannst aber Theoretisch auch jetzt schon versuchen, mit der neusten SPE version und dem Code::Blocks Projekt ne Linux version einzurichten?
Oder hast du kein Code::Blocks und das ist dein Problem?


codeblocks benutze ich nicht. was ich meine sind buildsysteme wie autoconf/automake oder (was ich empfehlen würde) cmake. dadurch kannst du dir automatisch ein makefile generieren lassen. dann kann ich einfach nur 'make' eintippen und deine anwendung ausprobieren =)
(jaja, ich bin faul :P)
"Don't trust your eyes: They are a hell of a lot smarter than you are"

Werbeanzeige