Linux | Windows | macosa | Aviso web | |
|---|---|---|---|---|
| Compilación | ![]() | ![]() | ![]() | ![]() |
| Pruebas unitarias | ![]() | No hay CI todavía | No hay CI todavía | N / A |
Codazidad | Overso |
|---|---|
Raz proviene de, como habrás notado, mi nombre de usuario Raz Akhel. Esto también se entendió como un juego de palabras, ya que en French Ràz es el acrónimo de "Remise à Zéro", que básicamente significa "reinicio". No tenía ninguna intención particular detrás de este doble significado. ¿Excepto tal vez esperar que usar Raz pueda restablecer su mente debido a su genialidad? Oh bueno.
Escrito en C ++ moderno (17), impulsado por ECS, se desarrolla principalmente para fines de aprendizaje. Está destinado a ser muy intuitivo y fácil de usar y jugar, mientras intenta mantenerse lo más optimizado y modular posible.
El motor está disponible en Windows, Linux y MacOS; También puede ejecutarse en un navegador web a través de WebAssembly (usando Emscripten).
El motor se puede usar con Lua, un lenguaje de secuencias de comandos que es muy simple para aprender y usar. Para obtener más información, consulte la página Wiki dedicada.
Si quieres comenzar con Raz, dirígete al wiki. Para la documentación, ¡mira aquí!
Razor, un editor también multiplataforma, está disponible para manipular el motor a través de una interfaz gráfica.
¡Un servidor de discordia dedicado a Raz & Razor también está disponible! Siéntase libre de venir a seguir el desarrollo, hacer cualquier pregunta o simplemente saludar
| Crytek Sponza | Hylian Shield (PBR) |
|---|---|
Hay más ejemplos disponibles aquí.
| Nombre | Mantenedor/creador | Descripción |
|---|---|---|
| Atmos | Razakhel | Simulación atmosférica |
| Medio | Razakhel | Generación de procedimiento de terreno |
| Yggdrasil | Razakhel | Generación de procedimientos de árboles y follaje |
Si también está trabajando por su cuenta, no dude en ponerse en contacto para que pueda agregarlos a la lista.
| Módulo | Características |
|---|---|
| Animación | - Estructura de datos del esqueleto - Soporte de animación (en progreso) |
| Audio | - Uso de Openal Soft - Jugar/pausar/parar/repetir sonidos - Fuentes de audio posicionales y oyente - Efectos de sonido (reverberación, coro, distorsión, eco, ...) - Soporte de mono/estéreo de entrada de audio (micrófono) |
| Datos | - Estructura de aceleración de la jerarquía del volumen delimitador (BVH) - Estructura gráfica dirigida - campo de distancia firmado de malla - Bitset dinámico - Formatos de archivo: - malla: - Importación GLTF/GLB (usando FastGLTF) - OBJ Importación/Exportación - Importación FBX (usando el FBX SDK) - Importar fuera - Imágenes: - PNG, JPEG, BMP, TGA, HDR, GIF, PPM/PGM, PSD, PIC Importación (usando STB_Image) - PNG, JPEG, BMP, TGA, HDR Export (usando STB_Image_Write) - TGA Importación - audio: importación/exportación WAV - Animación: importación BVH (en progreso) |
| Matemáticas | - Vectores, matrices y cuaterniones - ángulos (grados/radianes) - Transformaciones (traducción, rotación, escala) - Ruido (Perlin, Worley) |
| Física | - formas (línea, plano, esfera, triángulo, quad, aabb, obb) - Comprobaciones de colisión de forma/forma (en progreso) - Verificaciones de intersección de rayos/forma (en progreso) - Simulación del cuerpo rígido (en progreso) |
| Representación | - OpenGL (4.6-3.3) - Vulkan (en progreso) -Modelos de material PBR (Cook-Torrance) y Legacy (Blinn-Phong) - Renderización diferida, utilizando un gráfico de renderizado personalizado - Efectos de la publicación: Bloom, Mapeo de tono, SSR, SSAO, ... (en progreso) - Soporte de teselación y sombreadores de cómputo - Cámara (perspectiva/ortografía) - Fuentes de luz (punto y direccional) - Ventana (ventana, teclado/entradas de mouse con devoluciones de llamada personalizadas), usando GLFW - superpuesto, usando imgui - Cubemap - Mapeo normal |
| Scripting | - Scripting de lua, usando sol2 |
| XR | - Soporte de realidad virtual (VR) (usando el SDK OpenXR) |
| Maga | - Implementación de ECS (Sistema de componentes de Entidad) - cadenas de ruta dependientes de la plataforma uniformizadas - Utilidades de registro - Utilidades de lectura múltiple, funciones de implementación y paralelización del grupo de subprocesos - Utilidades de complemento, para cargar bibliotecas dinámicas - Compilador, enum, cadena, archivo, punto de venta de punto flotante y tipo - Integración de Tracy |