Linux | Fenêtre | macos | Webassembly | |
|---|---|---|---|---|
| Compilation | ![]() | ![]() | ![]() | ![]() |
| Tests unitaires | ![]() | Pas encore CI | Pas encore CI | N / A |
Codacie | Couvertures |
|---|---|
Raz vient, comme vous l'avez peut-être remarqué, mon nom d'utilisateur Raz Akhel. Cela était également destiné à un jeu de mots, car en français Ràz est l'acronyme de "Remise à Zéro", qui signifie essentiellement "réinitialiser". Je n'avais aucune intention particulière derrière ce double sens. Sauf que peut-être en espérant que l'utilisation de Raz pourrait réinitialiser votre esprit à cause de sa génialité? Tant pis.
Écrit en C ++ moderne (17), axé sur les EC, il est principalement développé à des fins d'apprentissage. Il est destiné à être très intuitif et facile à utiliser et à bricoler, tout en essayant de rester aussi optimisé et modulaire que possible.
Le moteur est disponible sous Windows, Linux et MacOS; Il peut également s'exécuter dans un navigateur Web via WebAssembly (en utilisant Emscripten).
Le moteur peut être utilisé avec LUA, un langage de script qui est très simple à apprendre et à utiliser. Pour plus d'informations, consultez la page Wiki dédiée.
Si vous voulez commencer avec Raz, rendez-vous au wiki. Pour la documentation, regardez ici!
Razor, un éditeur également multiplateforme, est disponible pour manipuler le moteur via une interface graphique.
Un serveur Discord dédié à Raz & Razor est également disponible! N'hésitez pas à venir suivre le développement, poser n'importe quelle question, ou simplement dire bonjour
| Crytek Sponza | Hylian Shield (PBR) |
|---|---|
Plus d'exemples sont disponibles ici.
| Nom | Mainteneur / créateur | Description |
|---|---|---|
| Atmosphère | Razakhel | Simulation atmosphérique |
| Midgard | Razakhel | Génération procédurale du terrain |
| Yggdrasil | Razakhel | Génération procédurale des arbres et du feuillage |
Si vous travaillez également sur certains, n'hésitez pas à nous contacter afin que je puisse les ajouter à la liste.
| Module | Caractéristiques |
|---|---|
| Animation | - Structure de données squelettes - Support d'animation (en cours) |
| Audio | - Utilisation d'Openal Soft - Jouer / pauser / arrêter / répéter des sons - Sources audio positionnelles et auditeur - effets sonores (réverbération, refrain, distorsion, écho, ...) - Prise en charge mono / stéréo sur entrée audio (microphone) |
| Données | - Structure d'accélération de la hiérarchie du volume de délimitation (BVH) - Structure du graphique dirigé - champ de distance signé en maillage - Bitset dynamique - Formats de fichiers: - mailles: - Importation GLTF / GLB (en utilisant FastGlTF) - Obj Import / Exportation - Importation FBX (en utilisant le SDK FBX) - Off Importation - Images: - PNG, JPEG, BMP, TGA, HDR, GIF, PPM / PGM, PSD, Importation de PIC (en utilisant STB_IMAGE) - Png, JPEG, BMP, TGA, HDR Export (en utilisant STB_IMAGE_WRITE) - Importation TGA - Audio: Importation / exportation WAV - Animation: importation BVH (en cours) |
| Mathématiques | - vecteurs, matrices et quaternions - angles (degrés / radians) - transformations (traduction, rotation, échelle) - Noise (Perlin, Worley) |
| Physique | - Formes (ligne, plan, sphère, triangle, quad, AABB, OBB) - Contrôles de collision de forme / forme (en cours) - Contrôles d'intersection des rayons / forme (en cours) - Simulation corporelle rigide (en cours) |
| Rendu | - OpenGL (4.6-3.3) - Vulkan (en cours) - Modèles de matériaux PBR (Cook-Torrance) et héritage (blinn-phong) - rendu différé, en utilisant un graphique de rendu personnalisé - Effets du post: floraison, cartographie des tons, SSR, SSAO, ... (en cours) - support de piqûres et de shaders de calculs - Caméra (perspective / orthographique) - Sources lumineuses (point et directionnel) - fenêtre (fenêtre, clavier / entrées de souris avec rappels personnalisés), en utilisant GLFW - superposition, en utilisant imgui - Cumbemap - Mappage normal |
| Script | - Scripting Lua, en utilisant SOL2 |
| Xr | - Prise en charge de la réalité virtuelle (VR) (en utilisant le SDK OpenXR) |
| Mission | - Implémentation ECS personnalisée (Système des composants d'entité) - chaînes de chemin dépendant de la plate-forme uniformisées - Les services publics de journalisation - Utilitaires multithreading, fonctions d'implémentation et de parallélisation des pools de threads - Utilitaires de plugin, pour charger des bibliothèques dynamiques - Compilateur, enum, chaîne, fichier, utilitaires à virgule flottante et à type - Intégration Tracy |