Dieses Dokument enthält Informationen zu zwei unterschiedlichen Projekten: Tiled Map Editor, ein vielseitiger Kachelkarten-Editor für die Spieleentwicklung, und Mitsuba 3, ein forschungsorientiertes Rendering-System. Beide bieten detaillierte Anweisungen zur Installation, Kompilierung und Verwendung sowie Erläuterungen zu ihren Kernmerkmalen und -funktionen. In den folgenden Informationen werden diese Tools separat beschrieben.
Gekachelter Karteneditor – https://www.mapeditor.org/
Über Tiled
Tiled ist ein Allzweck-Kachelkarteneditor für alle kachelbasierten Spiele, wie z
RPGs, Plattformer oder Breakout-Klone.
Tiled ist äußerst flexibel. Es können damit Karten beliebiger Größe erstellt werden, ohne dass dies erforderlich ist
Einschränkungen hinsichtlich der Kachelgröße oder der Anzahl der Schichten oder Kacheln, die verwendet werden können.
Karten, Ebenen, Kacheln und Objekten können beliebige Eigenschaften zugewiesen werden.
Das Kartenformat (TMX) von Tiled ist leicht zu verstehen und ermöglicht die Verwendung mehrerer Kachelsätze
kann in jeder Karte verwendet werden. Tilesets können jederzeit geändert werden.
Fliesen installieren
Tiled ist für alle gängigen Betriebssysteme verfügbar und kann auch heruntergeladen werden
von GitHub Releases oder von
itch.io. Die meisten Linux-Distributionen auch
Paket Tiled, aber diese Pakete sind normalerweise veraltet, also könnten Sie es vorziehen
um das AppImage zu verwenden oder Tiled durch zu installieren
Flatpak oder
snap, beides sind offizielle Veröffentlichungen.
Signierte Veröffentlichungen für macOS und Windows
macOS-Builds werden vom Betreuer Thorbjørn Lindeijer signiert, der sich registriert hat
als Apple-Entwickler.
Windows-Installationsprogramme verwenden die kostenlose Codesignatur von
SignPath.io,
und ein kostenloses Code-Signing-Zertifikat der
SignPath Foundation.
Kompilieren gekachelt
Bevor Sie Tiled kompilieren können, müssen Sie die Qt-Entwicklung (>= 5.12) sicherstellen
Es wurden Bibliotheken sowie das Qbs-Build-Tool installiert:
Wenn Sie das Python-Plugin erstellen möchten, müssen Sie zusätzlich das installieren
Python 3-Entwicklungsbibliotheken:
Alternativ können Sie Qt hier herunterladen.
Sie müssen nebenbei noch eine Entwicklungsumgebung installieren
Bibliotheken abhängig von Ihrem System, zum Beispiel:
Der einfachste Weg, Tiled zu kompilieren und auszuführen, besteht darin, „tiled.qbs“ in Qt Creator zu öffnen
und führen Sie das Projekt von dort aus aus.
Über die Befehlszeile müssen Sie möglicherweise Qbs einrichten, bevor Sie Tiled erstellen können
(Sie müssen außerdem sicherstellen, dass die Version von Qt, die Sie verwenden möchten, in Ihrem ist
Weg):
Sie können Tiled nun wie folgt ausführen:
Qt 6
Zum Kompilieren von libtiledquick (nicht standardmäßig erstellt) müssen Sie installieren
Vulkan-Header:
Arbeiten mit Visual Studio 2017
Sobald Qbs eingerichtet ist (siehe vorherige Anweisungen), ist es möglich, eine zu generieren
Visual Studio 2017-Projekt damit, mit dem Sie programmieren, kompilieren und ausführen können
mit dieser IDE. Dies kann mit dem folgenden Befehl erfolgen:
Installation von selbst kompiliertem Tiled
Um Tiled zu installieren, führen Sie qbs install vom Terminal aus aus. Standardmäßig wird dies bei Tiled der Fall sein
installiert werden
/install-root.
Das Installationspräfix kann beim Erstellen von Tiled geändert werden. Zum Beispiel zur Verwendung
ein Installationspräfix von /usr:
So installieren Sie Tiled in einem Verpackungsverzeichnis:
Standardmäßig werden Tiled und seine Plugins mit einem Rpath kompiliert, der dies zulässt
um die gemeinsam genutzte Bibliothek sofort nach der Kompilierung zu finden. Wann
Verpackung Für die Verteilung gekachelt, der Rpath sollte durch Anhängen deaktiviert werden
project.Tiled.useRPaths:false für den qbs-Befehl.
Mitsuba Renderer 3
Dokumentation | Tutorial-Videos | Linux | MacOS | Windows | PyPI |
---|---|---|---|---|---|
️
Warnung
️
Derzeit gibt es hier eine große Menge undokumentierter und instabiler Arbeiten
der master
. Wir empfehlen Ihnen dringend, unsere zu verwenden
neueste Version
bis auf Weiteres.
Wenn Sie die bevorstehenden Änderungen bereits ausprobieren möchten, schauen Sie sich bitte um
dieser Portierungsanleitung.
Es sollte die meisten kommenden neuen Funktionen und Breaking Changes abdecken.
Einführung
Mitsuba 3 ist ein forschungsorientiertes Rendering-System für Vorwärts- und Rückwärtslicht
Transportsimulation, entwickelt an der EPFL in der Schweiz.
Es besteht aus einer Kernbibliothek und einer Reihe von Plugins, die Funktionen implementieren
von Materialien und Lichtquellen bis hin zu kompletten Rendering-Algorithmen.
Mitsuba 3 ist retargetierbar : Das bedeutet, dass die zugrunde liegenden Implementierungen und
Datenstrukturen können sich verändern, um verschiedene Aufgaben zu erfüllen. Für
Beispielsweise kann derselbe Code beide skalaren (klassischen, jeweils einen Strahl gleichzeitig ausführenden) RGB-Transporte simulieren
oder differenzieller spektraler Transport auf der GPU. Darauf baut alles auf
Dr.Jit, ein spezialisierter Just-in-Time -Compiler (JIT), der speziell für dieses Projekt entwickelt wurde.
Hauptmerkmale
Plattformübergreifend : Mitsuba 3 wurde unter Linux ( x86_64
) und macOS getestet
( aarch64
, x8664
) und Windows ( x8664
).
Hohe Leistung : Der zugrunde liegende Dr.Jit-Compiler verschmilzt Rendering-Code
in Kernel, die modernste Leistung erzielen
ein LLVM-Backend, das auf die CPU abzielt, und ein CUDA/OptiX-Backend
zielt auf NVIDIA-GPUs mit Raytracing-Hardwarebeschleunigung ab.
Python zuerst : Mitsuba 3 ist tief in Python integriert. Materialien,
Texturen und sogar vollständige Rendering-Algorithmen können in Python entwickelt werden,
die das System im laufenden Betrieb JIT-kompiliert (und optional differenziert).
Dies ermöglicht die Experimente, die für die Forschung in der Computergrafik erforderlich sind
andere Disziplinen.
Differenzierung : Mitsuba 3 ist ein differenzierbarer Renderer, was bedeutet, dass er
kann Ableitungen der gesamten Simulation in Bezug auf die Eingabe berechnen
Parameter wie Kameraposition, Geometrie, BSDFs, Texturen und Volumina. Es
implementiert aktuelle differenzierbare Rendering-Algorithmen, die an der EPFL entwickelt wurden.
Spektral und Polarisation : Mitsuba 3 kann monochromatisch verwendet werden
Renderer, RGB-basierter Renderer oder Spektralrenderer. Jede Variante kann
Berücksichtigen Sie optional die Auswirkungen der Polarisation, falls gewünscht.
Tutorial-Videos, Dokumentation
Wir haben mehrere YouTube-Videos aufgenommen, die eine sanfte Einführung bieten
Mitsuba 3 und Dr.Jit. Darüber hinaus finden Sie komplette Juypter-Notizbücher
Es umfasst eine Vielzahl von Anwendungen, Anleitungen und Referenzdokumentationen
auf readthedocs.
Installation
Wir stellen vorkompilierte Binärräder über PyPI bereit. Mitsuba auf diese Weise zu installieren ist so einfach wie das Ausführen
pip install mitsuba
auf der Kommandozeile. Das Python-Paket enthält standardmäßig dreizehn Varianten:
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
Die ersten beiden führen eine klassische Einzelstrahl-Simulation mit entweder einem RGB durch
oder spektrale Farbdarstellung, wobei die beiden letzteren für die Umkehrung verwendet werden können
Rendern auf der CPU oder GPU. Um auf zusätzliche Varianten zugreifen zu können, müssen Sie Folgendes tun
Kompilieren Sie eine benutzerdefinierte Version von Dr.Jit mit CMake. Bitte beachten Sie die
Dokumentation
Einzelheiten hierzu finden Sie hier.
Anforderungen
Python >= 3.8
(optional) Für Berechnung auf der GPU: Nvidia driver >= 495.89
(optional) Für vektorisierte / parallele Berechnung auf der CPU: LLVM >= 11.1
Verwendung
Hier ist ein einfaches „Hello World“-Beispiel, das zeigt, wie einfach es ist, ein zu rendern
Szene mit Mitsuba 3 aus Python:
# Importieren Sie die Bibliothek mit dem Alias „mi“import mitsuba as mi# Legen Sie die Variante des Renderers festmi.setvariant('scalarrgb')# Laden Sie eine Szenescene = mi.loaddict(mi.cornellbox())# Rendern Sie die Szeneimg = mi. render(scene)# Schreiben Sie das gerenderte Bild in eine EXR-Dateimi.Bitmap(img).write('cbox.exr')
Es stehen Tutorials und Beispiel-Notebooks für eine Vielzahl von Anwendungen zur Verfügung
in der Dokumentation.
Um
Dieses Projekt wurde von Wenzel Jakob erstellt.
Wesentliche Funktionen und/oder Verbesserungen am Code wurden von beigesteuert
Sébastien Speierer,
Nicolas Roussel,
Merlin Nimier-David,
Delio Vicini,
Tizian Zeltner,
Baptiste Nicolet,
Miguel Crespo,
Vincent Leroy und
Ziyi Zhang.
Wenn Sie Mitsuba 3 in akademischen Projekten verwenden, geben Sie bitte Folgendes an:
@software{Mitsuba3,title = {Mitsuba 3 renderer},author = {Wenzel Jakob und Sébastien Speierer und Nicolas Roussel und Merlin Nimier-David und Delio Vicini und Tizian Zeltner und Baptiste Nicolet und Miguel Crespo und Vincent Leroy und Ziyi Zhang},Anmerkung = {https://mitsuba-renderer.org},Version = {3.1.1},Jahr = 2022}