Sobre el proyecto
El motor Irreden es un motor de contenido voxel "pixelatable" isométrico y de juego diseñado para crear juegos con un estilo visual distintivo. El motor está construido con C++23 y admite múltiples backends: OpenGL por defecto en Windows y Metal en macOS. Emplea una arquitectura modular donde los componentes se compilan como bibliotecas estáticas, lo que permite una integración y desarrollo flexibles.
Los módulos clave incluyen:
- **IRRender**: Maneja la representación de voxels sin mallas a través de shaders de cómputo, convirtiendo voxels 3D en lienzos isométricos 2D. Cuenta con desplazamiento de píxeles interpolado para movimientos suaves de la cámara y admite múltiples lienzos de voxels.
- **IRECS**: Un marco de Entity-Component-System (ECS) basado en arquetipos y eficiente en caché que permite definir sistemas con lambdas y creación por lotes de entidades.
- **IRAudio**: Admite la sonda y la conexión a dispositivos de audio, entrada MIDI para controladores y flujos de audio en tiempo real (en desarrollo).
- **IRInput**: Administra la creación de ventanas a través de GLFW y maneja la entrada del teclado, el mouse y el gamepad sincronizada con el ciclo del juego.
- **IRScript**: Proporciona una envoltura de la API de Lua C para configuración en tiempo de ejecución y posible implementación futura basada en Lua.
- **IRVideo**: Habilita la captura de framebuffer MP4/H264 usando FFmpeg, con conmutadores de grabación en tiempo de ejecución.
- **IRMath**: Incluye cálculos isométricos, envolturas GLM y funciones de suavizado para animaciones.
- **IRTime**: Ofrece eventos de FPS fijos para actualizaciones consistentes y eventos de FPS sin límites para renderizado.
El motor admite la integración de proyectos de juego privados a través de una estructura de directorio `creations/game/`, que autodetecta objetivos de CMake. Las dependencias incluyen RtAudio, RtMidi, GLFW, GLM, EasyProfiler, SpdLogger, Fmt, Glad, StbImage, MeshOptimizer, Assimp, enkiTS, Lua y FFmpeg. Las herramientas de desarrollo incluyen ajustes preestablecidos de CMake para configuración, compilación, pruebas, formato y verificación. El proyecto fomenta la retroalimentación sobre el diseño del motor y las contribuciones a través de problemas, modificaciones de prefabricados o publicación de proyectos de código abierto.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.