-
2025-10-21 Stable
released this
2025-10-21 20:06:05 +02:00 | 15 commits to main since this releaseVersión 1.0.0 — Lanzamiento inicial
Versión 1.0.0: lanzamiento inicial de Shadertoy SDL3 + OpenGL, herramienta minimal para ejecutar fragment shaders estilo Shadertoy en entornos locales usando SDL3 y GLAD con OpenGL 3.3.
Novedades y características principales
- Cargador de fragment shaders desde disco con búsqueda de rutas relativa y absoluta.
- Render loop con OpenGL 3.3 y GLAD, VAO VBO mínimo para un fullscreen quad.
- Uniformes estándar expuestos a los shaders
iResolution,
iTime, entrada de UV vía
vUV, salida en
FragColor. - Soporte de línea de comandos: pasar ruta del shader como primer argumento y
-F para iniciar en fullscreen nativo. - Atajos en ejecución:
Escape para salir y
F11 para alternar fullscreen desktop. - Colección de shaders convertidos desde Shadertoy como ejemplos en shaders slash.
- Empaquetado Windows con target de CMake package_windows que crea ZIP con ejecutable README md LICENSE shaders y DLLs desde release slash.
Correcciones y decisiones de diseño
- Baseline en OpenGL 3.3 por compatibilidad amplia y simplicidad; arquitectura preparada para detectar y migrar a versiones superiores en el futuro.
- APIs y eventos adaptados a SDL3 incluyendo lectura de displays nativa y toggle fullscreen consistente con SDL3.
- Manejo robusto de carga de shaders y mensajes de error con logs para facilitar depuración.
Instrucciones rápidas de despliegue
- Requisitos: CMake 3.14 o superior compilador con soporte C++17 SDL3 dev libs GLAD en third_party slash glad.
- Build pasos:
mkdir build
cd build
cmake dot dot
cmake --build dot --config Release - Ejecutar en ventana:
build slash bin slash shadertoy_sdl3 ../shaders slash tu_shader frag dot glsl - Ejecutar en fullscreen nativo:
build slash bin slash shadertoy_sdl3 -F ../shaders slash tu_shader frag dot glsl - Empaquetado Windows:
colocar SDL3 dot dll en release slash en la raíz del repo
cmake --build dot --config Release --target package_windows
resultado ZIP en build con nombre PROJECT_NAME dash ARCH win dot zip
Problemas conocidos
- Algunas macros o funciones de Shadertoy pueden requerir adaptación manual al GLSL 330.
- En macOS la mejor experiencia gráfica podría requerir backend Metal o cambios si se necesita OpenGL superior.
- El target de empaquetado Windows depende de PowerShell para crear el ZIP en entornos atípicos puede requerir ajuste.
Notas para desarrolladores
- Para portar a OpenGL 4 x o añadir compute shaders crear rama o flag de compilación y hacer detección runtime de versión GL.
- Para soportar multi pass BufferA B C implementar FBOs por buffer y pasar sus textures como iChannelN.
- Para hot reload de shaders vigilar timestamp del archivo y recompilar o recargar el shader en caliente.
Artefactos incluidos en este lanzamiento
- Ejecutable compilable desde CMake.
- Carpeta shaders con ejemplos adaptados.
- CMakeLists txt con target package_windows.
- README md con instrucciones de uso y compilación.
Downloads