Ce document fournit des informations sur deux projets distincts : Tiled Map Editor, un éditeur de cartes en tuiles polyvalent pour le développement de jeux, et Mitsuba 3, un système de rendu orienté recherche. Les deux offrent des instructions détaillées pour l’installation, la compilation et l’utilisation, ainsi que des explications sur leurs caractéristiques et fonctionnalités principales. Les informations ci-dessous détaillent ces outils séparément.
Éditeur de cartes en mosaïque - https://www.mapeditor.org/
À propos de Carrelage
Tiled est un éditeur de cartes de tuiles à usage général pour tous les jeux basés sur des tuiles, tels que
RPG, jeux de plateforme ou clones Breakout.
Le carrelage est très flexible. Il peut être utilisé pour créer des cartes de n'importe quelle taille, sans
restrictions sur la taille des carreaux ou sur le nombre de couches ou de carreaux pouvant être utilisés.
Les cartes, calques, tuiles et objets peuvent tous se voir attribuer des propriétés arbitraires.
Le format de carte de Tiled (TMX) est facile à comprendre et permet à plusieurs jeux de tuiles de
être utilisé dans n’importe quelle carte. Les jeux de tuiles peuvent être modifiés à tout moment.
Installation de carrelage
Tiled est disponible pour tous les principaux systèmes d'exploitation et peut être téléchargé soit
à partir des versions GitHub ou de
démangeaison.io. La plupart des distributions Linux également
package Tiled, mais ces packages sont généralement obsolètes, vous préférerez peut-être
pour utiliser AppImage ou installer Tiled via
Flatpak ou
snap, qui sont tous deux des versions officielles.
Versions signées pour macOS et Windows
Les versions macOS sont signées par le responsable, Thorbjørn Lindeijer, qui s'est enregistré
en tant que développeur Apple.
Les installateurs Windows utilisent la signature de code gratuite fournie par
SignPath.io,
et un certificat de signature de code gratuit par le
Fondation SignPath.
Compilation en mosaïque
Avant de pouvoir compiler Tiled, vous devez vous assurer du développement Qt (>= 5.12)
des librairies ont été installées ainsi que l'outil de build Qbs :
Si vous souhaitez créer le plugin Python, vous devez également installer le
Bibliothèques de développement Python 3 :
Alternativement, vous pouvez télécharger Qt ici.
Vous devrez toujours installer un environnement de développement à côté et quelques
bibliothèques en fonction de votre système, par exemple :
Le moyen le plus simple de compiler et d'exécuter Tiled est d'ouvrir Tiled.qbs dans Qt Creator.
et exécutez le projet à partir de là.
À partir de la ligne de commande, vous devrez peut-être configurer Qbs avant de pouvoir créer Tiled
(vous devrez également vous assurer que la version de Qt que vous souhaitez utiliser est dans votre
chemin):
Vous pouvez maintenant exécuter Tiled comme suit :
Qt 6
Pour compiler libtiledquick (non construit par défaut), vous devrez installer le
En-têtes Vulkan :
Travailler avec Visual Studio 2017
Une fois Qbs configuré (voir instructions précédentes), il est possible de générer un
Projet Visual Studio 2017 avec celui-ci qui vous permet de coder, compiler et exécuter
en utilisant cet IDE. Cela peut être fait avec la commande suivante :
Installation de tuiles auto-compilées
Pour installer Tiled, exécutez qbs install à partir du terminal. Par défaut, Tiled
être installé à
/racine-installation.
Le préfixe d'installation peut être modifié lors de la construction de Tiled. Par exemple, pour utiliser
un préfixe d'installation de /usr :
Pour installer Tiled dans un répertoire d'empaquetage :
Par défaut, Tiled et ses plugins sont compilés avec un Rpath qui leur permet
pour trouver la bibliothèque libtiled partagée immédiatement après avoir été compilée. Quand
packaging En mosaïque pour la distribution, le Rpath doit être désactivé en ajoutant
projects.Tiled.useRPaths:false à la commande qbs.
Moteur de rendu Mitsuba 3
Documentation | Vidéos tutorielles | Linux | Mac OS | Fenêtres | PyPI |
---|---|---|---|---|---|
️
Avertissement
️
Il existe actuellement un grand nombre de travaux non documentés et instables en cours dans
la branche master
. Nous vous recommandons fortement d'utiliser notre
dernière version
jusqu'à nouvel ordre.
Si vous souhaitez déjà tester les modifications à venir, veuillez consulter
ce guide de portage.
Il devrait couvrir la plupart des nouvelles fonctionnalités et des modifications majeures à venir.
Introduction
Mitsuba 3 est un système de rendu orienté recherche pour la lumière directe et inverse
simulation de transport développée à l'EPFL en Suisse.
Il se compose d'une bibliothèque principale et d'un ensemble de plugins qui implémentent des fonctionnalités
allant des matériaux et sources de lumière aux algorithmes de rendu complets.
Mitsuba 3 est reciblable : cela signifie que les implémentations sous-jacentes et
les structures de données peuvent se transformer pour accomplir diverses tâches différentes. Pour
Par exemple, le même code peut simuler à la fois le transport RVB scalaire (classique un rayon à la fois)
ou transport spectral différentiel sur le GPU. Tout cela s'appuie sur
Dr.Jit, un compilateur spécialisé juste à temps (JIT) développé spécifiquement pour ce projet.
Principales caractéristiques
Multiplateforme : Mitsuba 3 a été testé sur Linux ( x86_64
), macOS
( aarch64
, x8664
) et Windows ( x8664
).
Hautes performances : le compilateur Dr.Jit sous-jacent fusionne le code de rendu
en noyaux qui atteignent des performances de pointe en utilisant
un backend LLVM ciblant le CPU et un backend CUDA/OptiX
ciblant les GPU NVIDIA avec l’accélération matérielle du lancer de rayons.
Python d'abord : Mitsuba 3 est profondément intégré à Python. Matériels,
des textures, et même des algorithmes de rendu complets peuvent être développés en Python,
que le système compile JIT (et éventuellement différencie) à la volée.
Cela permet l'expérimentation nécessaire à la recherche en infographie et
d'autres disciplines.
Différenciation : Mitsuba 3 est un moteur de rendu différenciable, ce qui signifie qu'il
peut calculer les dérivées de l'ensemble de la simulation par rapport à l'entrée
des paramètres tels que la pose de la caméra, la géométrie, les BSDF, les textures et les volumes. Il
implémente des algorithmes de rendu différenciables récents développés à l'EPFL.
Spectral & Polarisation : Mitsuba 3 peut être utilisé comme monochromatique
rendu, un rendu basé sur RVB ou un rendu spectral. Chaque variante peut
éventuellement tenir compte des effets de polarisation si vous le souhaitez.
Vidéos tutorielles, documentation
Nous avons enregistré plusieurs vidéos YouTube qui fournissent une introduction douce
Mitsuba 3 et Dr Jit. Au-delà de cela, vous pouvez trouver des cahiers Juypter complets
couvrant une variété d'applications, de guides pratiques et de documentation de référence
sur readthedocs.
Installation
Nous fournissons des roues binaires précompilées via PyPI. Installer Mitsuba de cette façon est aussi simple que d'exécuter
pip installer mitsuba
sur la ligne de commande. Le package Python comprend treize variantes par défaut :
scalar_rgb
scalar_spectral
scalarspectralpolarized
llvmadrgb
llvmadmono
llvmadmono_polarized
llvmadspectral
llvmadspectral_polarized
cudaadrgb
cudaadmono
cudaadmono_polarized
cudaadspectral
cudaadspectral_polarized
Les deux premiers effectuent une simulation classique d'un rayon à la fois en utilisant soit un RVB
ou représentation spectrale des couleurs, tandis que les deux derniers peuvent être utilisés pour l'inverse
rendu sur le CPU ou le GPU. Pour accéder à des variantes supplémentaires, vous devrez
compilez une version personnalisée de Dr.Jit à l'aide de CMake. Veuillez consulter le
documentation
pour plus de détails à ce sujet.
Exigences
Python >= 3.8
(facultatif) Pour le calcul sur le GPU : Nvidia driver >= 495.89
(facultatif) Pour le calcul vectorisé/parallèle sur le CPU : LLVM >= 11.1
Usage
Voici un exemple simple de « Hello World » qui montre à quel point il est simple de restituer un
scène utilisant Mitsuba 3 de Python :
# Importez la bibliothèque en utilisant l'alias "mi" import mitsuba as mi# Définir la variante du renderermi.setvariant('scalarrgb')# Charger une scènecene = mi.loaddict(mi.cornellbox())# Rendre la scèneimg = mi. render(scene)# Écrit l'image rendue dans un fichier EXR mi.Bitmap(img).write('cbox.exr')
Des didacticiels et des exemples de cahiers couvrant une variété d'applications peuvent être trouvés
dans la documentation.
À propos
Ce projet a été créé par Wenzel Jakob.
Des fonctionnalités et/ou améliorations importantes du code ont été apportées par
Sébastien Speierer,
Nicolas Roussel,
Merlin Nimier-David,
Délio Vicini,
Tizian Zeltner,
Baptiste Nicolet,
Miguel Crespo,
Vincent Leroy, et
Ziyi Zhang.
Lorsque vous utilisez Mitsuba 3 dans des projets académiques, veuillez citer :
@software{Mitsuba3,title = {Mitsuba 3 renderer},author = {Wenzel Jakob et Sébastien Speierer et Nicolas Roussel et Merlin Nimier-David et Delio Vicini et Tizian Zeltner et Baptiste Nicolet et Miguel Crespo et Vincent Leroy et Ziyi Zhang},note = {https://mitsuba-renderer.org},version = {3.1.1},année = 2022}