af0276255e
feat(postfx): afegir push constants i efectes chromatic aberration + scanlines
...
- PostFXUniforms struct (vignette_strength, chroma_strength, scanline_strength, time)
- Shader MSL actualitzat: aberració cromàtica RGB + scanlines sin-wave + vinyeta paramètrica
- Pipeline postfx declara num_uniform_buffers=1 (buffer(0) en MSL)
- Engine acumula temps i fa SDL_PushGPUFragmentUniformData cada frame
- Valors per defecte: vignette=1.5, chroma=0, scanlines=0 (comportament idèntic a l'anterior)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-19 22:11:05 +01:00
00a5875c92
feat(gpu): migrar a SDL3_GPU amb 2-pass rendering i post-processat
...
- Infraestructura GPU: GpuContext, GpuPipeline, GpuSpriteBatch, GpuTexture
- Engine::render() migrat a 2-pass: sprites → offscreen R8G8B8A8 → swapchain + vignette
- UI/text via software renderer (SDL3_ttf) + upload com a textura overlay GPU
- CMakeLists.txt actualitzat per incloure subsistema gpu/
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-19 22:08:12 +01:00
821eba3483
refactor(bloques2-5): auditoria de codi - limpieza i arquitectura
...
Bloque 2: eliminar codi mort comentat (shape_manager, engine)
Bloque 3: Engine shape methods com thin wrappers a ShapeManager;
eliminar estat duplicat de shapes en Engine
Bloque 4: encapsular getBallsMutable() amb helpers a SceneManager
(enableShapeAttractionAll, resetDepthScalesAll)
Bloque 5: StateManager Phase 9 - tota la logica DEMO/LOGO
implementada directament amb refs a SceneManager,
ThemeManager i ShapeManager; eliminar callbacks a Engine.
Acoplament Engine<->StateManager passa a unidireccional.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-19 00:42:03 +01:00
6aa4a1227e
ordenació per buckets
2026-03-12 22:55:33 +01:00
ff6aaef7c6
parametres per saltarse el benchmark i per limitar el maxim de pilotes en els modes automatics
2026-03-12 08:56:59 +01:00
cbe6dc9744
varies millores en el hud de debug
2026-03-11 23:27:02 +01:00
dfbd8a430b
afegit escenari personalitzat per parametre
2026-03-11 22:44:17 +01:00
ea27a771ab
benchmark inicial per a determinar modes de baix rendiment
...
ajustats escenaris maxims i minims per als diferents modes automatics
2026-03-11 20:30:32 +01:00
ce5c4681b8
afegit mode kiosko
2026-03-11 19:14:22 +01:00
a9d7b66e83
Refactorizar estilo del proyecto: .h → .hpp, #pragma once, includes desde raíz
...
Modernizar convenciones de código C++ aplicando las siguientes directivas:
## Cambios principales
**1. Renombrar headers (.h → .hpp)**
- 36 archivos renombrados a extensión .hpp (estándar C++)
- Mantenidos como .h: stb_image.h, stb_image_resize2.h (librerías C externas)
**2. Modernizar include guards (#ifndef → #pragma once)**
- resource_manager.hpp: #ifndef RESOURCE_MANAGER_H → #pragma once
- resource_pack.hpp: #ifndef RESOURCE_PACK_H → #pragma once
- spatial_grid.hpp: #ifndef SPATIAL_GRID_H → #pragma once
**3. Sistema de includes desde raíz del proyecto**
- CMakeLists.txt: añadido include_directories(${CMAKE_SOURCE_DIR}/source)
- Eliminadas rutas relativas (../) en todos los includes
- Includes ahora usan rutas absolutas desde source/
**Antes:**
```cpp
#include "../defines.h"
#include "../text/textrenderer.h"
```
**Ahora:**
```cpp
#include "defines.hpp"
#include "text/textrenderer.hpp"
```
## Archivos afectados
- 1 archivo CMakeLists.txt modificado
- 36 archivos renombrados (.h → .hpp)
- 32 archivos .cpp actualizados (includes)
- 36 archivos .hpp actualizados (includes + guards)
- 1 archivo tools/ actualizado
**Total: 70 archivos modificados**
## Verificación
✅ Proyecto compila sin errores
✅ Todas las rutas de includes correctas
✅ Include guards modernizados
✅ Librerías externas C mantienen extensión .h
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-10-23 13:49:58 +02:00