• 2025-10-21 Stable

    JailDesigner released this 2025-10-21 20:06:05 +02:00 | 15 commits to main since this release

    Versió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