Sobre el proyecto

Spartan Engine es un motor de juego personal de investigación y desarrollo creado por un solo ingeniero durante más de una década. Se describe explícitamente como no un producto comercial, sin promesas de hoja de ruta ni cola de soporte. La arquitectura de renderizado se centra en el principio de que la GPU posee los datos. La geometría, los materiales, las texturas, las luces, las transformaciones y los AABB residen en búferes persistentes de acceso global. La ruta de dibujo es de enlace cero, con datos por dibujo en un único búfer de almacenamiento bindless y constantes push que solo llevan un índice. Un único búfer global de vértices e índices cubre toda la geometría, utilizando vertex pulling que evita el Input Assembler y es compartido por rasterización y ray tracing. El renderizado indirecto dirigido por GPU realiza culling por meshlet de frustum, oclusión Hi-Z y cono de caras traseras, con la CPU emitiendo un DrawIndexedIndirectCount por pase. La agrupación de meshlets usa meshoptimizer sin dependencia de mesh shader. HLSL universal se compila tanto para Vulkan (SPIR-V) como para DirectX 12. El procesamiento de activos del lado de la GPU maneja la generación de mipmaps y la compresión de texturas en tiempo de carga. El renderizado es deferred unificado, con superficies opacas y transparentes compartiendo el mismo BSDF y ruta. La iluminación y la iluminación global incluyen path tracing con ReSTIR y remuestreo de reservorios espaciotemporal para GI de múltiples rebotes en tiempo real, sombreado deferred agrupado con una cuadrícula logarítmica-Z construida por GPU, reflejos y sombras con ray tracing por hardware mediante ray queries, dispersión atmosférica, iluminación basada en imágenes con normales curvadas, nubes volumétricas, niebla volumétrica por froxels, un océano FFT con espectro de Tessendorf, sombras en espacio de pantalla, oclusión ambiental XeGTAO y un atlas de mapas de sombras. Las características de rendimiento incluyen sombreado de tasa variable, escalado de resolución dinámico, TAAU, NVIDIA DLSS, Intel XeSS, FXAA y breadcrumbs personalizados de fallos de GPU. La cámara y el postprocesado cubren una cámara basada en física con autoexposición y unidades de luz físicas, tonemappers ACES/AgX/Gran Turismo 7, salida HDR10, bloom, desenfoque de movimiento, profundidad de campo, aberración cromática, grano de película y nitidez. Una simulación de dinámica vehicular se ejecuta a 200Hz dentro del bucle de paso fijo de PhysX, con neumáticos Pacejka MF 5.2, modelado de suspensión, transferencia de peso, tren motriz, frenos térmicos, aerodinámica, dirección Ackermann, asistencias e entrada de mando/volante con retroalimentación háptica. Otros sistemas del motor incluyen partículas dirigidas por GPU, animación esquelética con skinning y cinemática inversa, física PhysX, scripting Lua 5.4 mediante Sol2, audio posicional 3D, sistema de entidades basado en componentes con serialización XML, carreteras spline procedurales, un secuenciador de cortes de cámara, un grupo de hilos consciente del hardware, VR OpenXR en desarrollo, una línea de tiempo de perfilado con integración de RenderDoc, importación de activos para muchos formatos de modelos, imágenes y fuentes, y un editor basado en ImGui. El repositorio incluye mundos predeterminados con física habilitada, una guía de compilación y una guía de scripting Lua. La licencia permite el uso no comercial gratuito, la modificación y la redistribución con atribución, mientras que el uso comercial requiere permiso previo por escrito y términos negociados.