Model Format für Splines
Model Format für Splines
Moin,
gibt es eigentlich irgendein anerkanntes Model-Format für Spline-basierte 3D-Geometrie und -Animation? (bzw. es braucht ja auch entsprechende Editoren und geile Render Engines, die entweder die Geometrie je nach LoD aufblähen oder sehr intelligente Pixelshader haben, die den Spline quasi raycasten)
gibt es eigentlich irgendein anerkanntes Model-Format für Spline-basierte 3D-Geometrie und -Animation? (bzw. es braucht ja auch entsprechende Editoren und geile Render Engines, die entweder die Geometrie je nach LoD aufblähen oder sehr intelligente Pixelshader haben, die den Spline quasi raycasten)
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
- Schrompf
- Moderator
- Beiträge: 4997
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Model Format für Splines
Die einzige Engine, bei der ich das jemals gelesen habe, war Quake2 - ja, das Quake2 von 2001 oder so. Die haben damals Torbögen und so als Splines abgelegt und je nach verfügbarer Rechenleistung verschieden detailliert tesseliert.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- dot
- Establishment
- Beiträge: 1743
- Registriert: 06.03.2004, 18:10
- Echter Name: Michael Kenzel
- Kontaktdaten:
Re: Model Format für Splines
.obj? 😉
Re: Model Format für Splines
Du meinst Quake 3, oder?
https://quark.sourceforge.io/infobase/maped.curves.html
Das war lustig, weil GameStar damals vom Entwickler irgendetwas von wegen perfekt runden Oberflächen gehört hat und dann ein großes Beispielbild von einem der weiblichen Charaktere im Heft abgedruckt hat um dann zu behaupten, der Po sei endlich perfekt rund. Aber der hatte natürlich konstante Auflösung, nur eben hinreichend große.
Ansonsten: Blender kann natürlich alle Arten von Kurven, und das Dateiformat ist irgendwo dokumentiert. Assimp hatte ja mal einen Blender-Loader. Das würde sich als Leveleditor für dein Spiel vielleicht gut lohnen, weil du ja auch direkt Levelobjekte setzen und Exportieren kannst (über Empties und ein Custom-Export-Skript).
Aber wie anderswo schon gesagt: Wenn du Splines einfach hinreichend beim Export sampelst, sieht man eh keine Ecken mehr. Und wenn dein LOD eh mit beliebigen Punktwolken umgehen kann, dann kannst du auch einfach die hochaufgelösten, diskretisierten Splines da rein schmeißen. Wenn du statt Texel Punkte verwendest ist deine Farbauflösung fast immer eh höher als die Geometrieauflösung, du kannst also auch einfach davon ausgehen, dass alles entweder Punktwolken oder Dreiecke sind und brauchst dir über Splines keine Gedanken machen.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
- Schrompf
- Moderator
- Beiträge: 4997
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Model Format für Splines
Assimp kann Blender nur in nem exotischen Branch, und lädt da nur den Triangle Preview Mesh. Assimp hat gar keine Datenstrukturen für Splines.
Aber ich stimme dem allgemeinen Tenor zu: es ist albern, das überhaupt zu wollen.
Aber ich stimme dem allgemeinen Tenor zu: es ist albern, das überhaupt zu wollen.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- Krishty
- Establishment
- Beiträge: 8308
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Model Format für Splines
Fast alle CAD-Formate sind Spline-basiert. IGES, STEP, DWG kommen oft genug erst garnicht tesseliert. Dafür kosten die Bibliotheken zum Laden ein kleines Vermögen. Ich nutze ein selber geforktes OpenCASCADE, und auch das kommt mit Einschränkungen wie „braucht bei einigen Dateien fünfzehn Minuten zum Laden“ und „Tesselierung sieht manchmal aus nicht erkennbaren Gründen grütze aus“ zusätzlich zu „kein Support, da gratis (sonst 6000 € pro Jahr und Arbeitsplatz)“.
-
- Establishment
- Beiträge: 487
- Registriert: 01.03.2009, 19:09
Re: Model Format für Splines
Sorry für offtopic
Aber bei der Diskussion stellt sich mir die Frage ob man mit Hilfe von mesh shadern und workgraphs die splines nicht direkt auf der gpu tesselieren könnte.
Das würde doch wirkliches unlilited Detail ermöglichen
Aber bei der Diskussion stellt sich mir die Frage ob man mit Hilfe von mesh shadern und workgraphs die splines nicht direkt auf der gpu tesselieren könnte.
Das würde doch wirkliches unlilited Detail ermöglichen
Bevor man den Kopf schüttelt, sollte man sich vergewissern einen zu haben
- Schrompf
- Moderator
- Beiträge: 4997
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Model Format für Splines
Ja, vielleicht schon. Quasi das uralte Quake-Ding mit "soweit tesselieren, wie's die Performance her gibt und es nötig ist". Aber weil's hier gerade philosophisch wird: das ist doch nicht mehr Detail! Das ist doch nur die selbe Informationsmenge, leeeiiiicht besser repräsentiert. Unlimited Detail wären die Fitzelchen der Rauhfasertapete, nicht die immer exaktere Darstellung des Krümmungsverlaufs eines Kotflügels.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
-
- Establishment
- Beiträge: 308
- Registriert: 25.08.2019, 05:00
- Alter Benutzername: gdsWizard
- Kontaktdaten:
Re: Model Format für Splines
Meiner Meinung nach wird die Auflösung von Splines überschätzt. Wenn ein Objekt nicht mehrere Meter große ist, fallt eine niedrige Tesselation gar nicht auf. Bei meinem kleinen Editor verwende ich fest 64 Segmente für einen polygonalen Kreis und es fällt kaum auf.
Hat den StormWizard 1.0 und 2.0 verbrochen. https://mirrorcad.com
Re: Model Format für Splines
64 Segmente für einen Kreis sind aber ganz schön viel, wenn das Objekt in großer Entfernung nur 2-3 Pixel vom Bildschirm einnimmt.Mirror hat geschrieben: ↑22.10.2024, 12:59 Meiner Meinung nach wird die Auflösung von Splines überschätzt. Wenn ein Objekt nicht mehrere Meter große ist, fallt eine niedrige Tesselation gar nicht auf. Bei meinem kleinen Editor verwende ich fest 64 Segmente für einen polygonalen Kreis und es fällt kaum auf.
Was ich mich frage ist: Kann man auch im Fragment Shader tesselieren? Also ein Deck-Dreieck rendern und die einzelnen Pixel dann raytracen.
http://fedoraproject.org/ <-- freies Betriebssystem
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
http://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
- Schrompf
- Moderator
- Beiträge: 4997
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Model Format für Splines
Klar, mach. Hab neulich Guardians Of The Galaxy auf Steam gespielt, und die raytracen im PixelShader mit Silhouette und Fragment Rejection durch ein HeightField, wenn ich das richtig gesehen habe.
Slug, die Font Rendering Library, rendert die Splines direkt aus dem TrueTypeFont im FragmentShader und kann damit gleich geile Antialiasing-Sachen machen, so dass Du nen Textpanel wie in KriegDerSterne schräg rendern kannst und selbst die kleinsten Buchstaben noch gut lesbar sind.
Slug, die Font Rendering Library, rendert die Splines direkt aus dem TrueTypeFont im FragmentShader und kann damit gleich geile Antialiasing-Sachen machen, so dass Du nen Textpanel wie in KriegDerSterne schräg rendern kannst und selbst die kleinsten Buchstaben noch gut lesbar sind.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
-
- Establishment
- Beiträge: 308
- Registriert: 25.08.2019, 05:00
- Alter Benutzername: gdsWizard
- Kontaktdaten:
Re: Model Format für Splines
64 Segmente sind vorgegeben, man wird es aber editieren können. Bei Softcubes geht das ja schon immer.
Hat den StormWizard 1.0 und 2.0 verbrochen. https://mirrorcad.com
Re: Model Format für Splines
Ja, aber das hat halt nix mit Splines zu tun, bzw. genauer gesagt es ist kein Spline-spezifisches Problem. Du hast ja auch Triangle-Meshes (Charaktere etc.) die eine ähnliche Auflösung (Vertices pro Meter) haben und auch in unterschiedlichen Entfernungen gerendert werden.
Du brauchst also auf jeden Fall eine LOD-Strategie für Dreiecksmeshs (oder in deinem Fall vlt. eher Punktwolken). Wenn du irgendein Spline-basiertes Objekt in ein Dreiecksmesh umwandelst, braucht man nicht allzu viele Dreiecke, damit es rund aussieht (egal wie nah man dran ist), es ist also absolut keine verrückte Idee, Splines in Triangles umzuwandeln. Und ab dem Punkt kannst du den selben Code verwenden, den du eh schon für Triangles hast um dein LOD zu machen.
Was du jetzt vor hast ist, überspitzt gesagt, einen zweiten Code-Pfad zu entwickeln und zu pflegen, der dein Projekt komplizierter und fehleranfälliger macht (weil mehr Logik da ist die kaputt gehen kann), allerdings keinen Mehrwert liefert. Man kann das aus mathematischer Sicht nett und elegant finden, aber aus entwicklungsökonomicher Sicht macht das schlicht keinen Sinn.
Ich wollte das nur nochmal erwähnen, weil ich dachte, dass dir effizientes Entwickeln ggf. wichtig sein könnte. Wenn du unbedingt Splines machen willst, dann ist das auch ok. Ich schreibe ja auch meine eigene 3D Engine für meine Projekte, die ehrlich gesagt nicht besonders toll ist und das macht mit Sicherheit auch absolut keinen Sinn, wenn man maximal effizient entwickeln will. Aber ist ja Hobby und kein Beruf. Eigene 3D Engine schreiben ist ehrlich gesagt keine kluge Idee, Splines statt Dreiecke zu rendern auf die selbe Art auch nicht. Aber kann man trotzdem machen. Und mit einem netten Spline Renderer wirst du bestimmt auch lobende Kommentare hier bekommen.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/