Das Beste, was für 3D und Raytracing
-
13-09-2019 - |
Frage
Ich möchte mit einigen Grafiken Sachen spielen, um. Einfache Animationen und Dinge. Ich will auch mit Raytracing zum Herumtollen. Ich brauche Hilfe eine Bibliothek zu finden, die mir diese Dinge tun helfen. Ich habe ein paar Anforderungen:
- Muss in der Lage Raytracing zu tun
- Muss für eine Hochsprache sein (Python, .NET, etc.). Bitte keine C / C ++
- Müssen gute Dokumentation, vorzugsweise mit Beispielen.
Kennt jemand eine gute Bibliothek kann ich täuschen verwenden um mit?
Lösung
Ich glaube, es gibt nur wenige Menschen, die Zusammenstellung ray-Tracer mit XNA Game Studio .
Ein Beispiel hierfür mit dem Code kann an gesehen über werden:
Andere Tipps
Hier finden Sie aktuelle blender.org -. Es ist ein Open-Source-3D-Projekt mit Python Scripting-Fähigkeiten
Das erste, was mir in den Sinn kommen, ist die beliebte Open-Source-P.O.V Raytracer (www.povray.org). POV Szenen sind komplett mit Skriptdateien definiert, und einige Leute aus Python-Code sie leicht zu erzeugen.
http://code.activestate.com/recipes/205451/
http: //-Kisten -unblog.blogspot.com/2007/04/easy-procedural-graphics-python-and-pov.html
Ich bin nicht bekannt, dass Bibliotheken, die Ihre Anfrage entsprechen.
(zumindest nicht, wenn ich den Code für meine eigene Tracer ... zu veröffentlichen entscheiden)einen Tracer zu schreiben ist nicht wirklich so schwer, sowieso. Ich würde empfehlen dringend halten, eine Kopie bekommen von „An Introduction to Ray Tracing“ von Glassner. Es geht über die eigentliche Mathematik in relativ einfachen Bedingungen zu verstehen, und hat auch einen ganzen Abschnitt auf „wie einen Raytracer schreiben“.
Auf jeden Fall eine „Bibliothek“ ist gar nicht so viel Einsatz auf seine eigene - ziemlich jeder Raytracer hat seine eigenen internen Bibliotheken, aber sie sind auf dem Tracer spezifisch. Sie enthalten in der Regel:
- eine Basisklasse 3D-Objekte darstellen
- Subklassen, dass für jede geometrische Primitive
- Vektor- und Matrix-Klassen (3D und 4D)
- Texturierung Funktionen und / oder Klassen
- Licht Klassen verschiedenen Typen (Punkt-Licht, Punktlicht, etc.)
Für meinen eigenen Tracer habe ich tatsächlich die javax.vecmath
Pakete für # 3 oben, hatte aber zu meinem eigenen Code für # 1 und # 2 basierend auf dem Glassner Buch zu schreiben. Das Ganze ist gut unter 2k Zeilen Code, und die meisten der einzelnen Klassen sind etwa 40 Zeilen lang.
Der gut entwickelt Raytracer, die Open-Source ist
Für Echtzeit-3D (es wird sprachabhängig natürlich) gibt es Jmonkeyengine (Java) nicht sicher ob das Ihre „Hochsprache“ Anforderung erfüllt.
Sie können eine 3D-Spiel Skriptsprache betrachten, wie GameCore oder Blitzbasic