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.zipPS: 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.