Commit Graph

9 Commits

Author SHA1 Message Date
79c27dad6a Aplicar formato automático con clang-format a todo el código fuente
- Reformatear archivos .cpp y .h según configuración Google personalizada
- Mejorar consistencia en indentación y espaciado
- Reorganizar includes y declaraciones de clases
- Mantener funcionalidad existente sin cambios

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 13:57:01 +02:00
6c49b34120 Implementar sistema completo de temas visuales con 4 temas de colores
- Añadir enum ColorTheme con 4 temas: SUNSET, OCEAN, NEON, FOREST
- Implementar fondos degradados temáticos con SDL_RenderGeometry
- Crear paletas de 8 colores únicos por tema para las pelotas
- Añadir controles F1-F4 para selección directa de temas
- Añadir tecla T para ciclado secuencial entre temas
- Mostrar nombre de tema temporalmente en pantalla con colores temáticos
- Mejorar debug display con líneas separadas y números formateados
- Actualizar README con documentación completa del sistema de temas
- Corregir texto debug para compatibilidad ASCII con dbgtxt

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 13:38:28 +02:00
0474c3166d Implementar batch rendering con SDL_RenderGeometry para rendimiento masivo
- Reemplazar 50K+ llamadas SDL_RenderTexture individuales por 1 SDL_RenderGeometry
- Crear sistema de acumulacion de vertices y indices para batch rendering
- Añadir addSpriteToBatch() para generar quads con posicion, UV y color
- Implementar getters Ball::getPosition() y getColor() para batch data
- Añadir Texture::getSDLTexture() para acceso directo a textura SDL
- Conversion correcta colores Uint8 a float para SDL_Vertex.color
- Arquitectura: 4 vertices + 6 indices por sprite (2 triangulos)

Rendimiento conseguido:
- 50K bolas: 10 FPS -> >75 FPS constante (mejora 750%)
- 100K bolas: inutilizable -> fluido y jugable
- Escalabilidad masiva para renderizado de sprites

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 12:12:50 +02:00
770523ab08 Implementar toggle debug display y mejorar transparencia del texto
- Añadir tecla H para activar/desactivar debug display
- Debug display desactivado por defecto para interfaz limpia
- Implementar procesamiento bitmap monocromo a RGBA32 con transparencia
- Convertir fondo blanco original a pixels transparentes
- Convertir texto negro original a pixels blancos para color mod
- Configurar SDL_BLENDMODE_BLEND para transparencia correcta
- Actualizar README con documentacion de tecla H y debug display
- Conseguir texto flotante sin fondo negro para mejor legibilidad

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 09:44:04 +02:00
393ad991a7 Implementar sistema delta time independiente del framerate
- Migrar de fisica frame-based (60 FPS fijo) a time-based
- Convertir velocidades: x60 multiplicador (pixeles/frame → pixeles/segundo)
- Convertir gravedad: x3600 multiplicador (pixeles/frame² → pixeles/segundo²)
- Añadir calculateDeltaTime() con limitador de saltos grandes
- Actualizar Ball::update() para recibir deltaTime como parametro
- Implementar debug display con valores de fisica en tiempo real
- Documentar proceso completo de migracion en README.md
- Conseguir velocidad consistente entre diferentes refresh rates
- V-Sync independiente: misma velocidad con V-Sync ON/OFF

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 09:23:08 +02:00
a2959df311 Implementar contador FPS y control V-Sync dinamico
- Añadir contador FPS en esquina superior derecha (amarillo)
- Implementar control V-Sync con tecla V (ON/OFF)
- Mostrar estado V-Sync en esquina superior izquierda (cian)
- Aplicar filtro nearest neighbor a texturas de texto
- Crear archivo CLAUDE.md para seguimiento de desarrollo
- Actualizar README.md con nueva funcionalidad y controles
- Corregir codificacion de caracteres en README (eliminar simbolos extraños)
- Documentar sistema de metricas en tiempo real

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 08:49:12 +02:00
b3c70449dd Reestructurar código moviendo utilidades a source/external/
- Crear directorio source/external/ para componentes externos
- Mover sprite.h/.cpp, texture.h/.cpp, dbgtxt.h, stb_image.h a external/
- Actualizar includes en main.cpp y ball.h para nueva estructura
- Modificar CMakeLists.txt y Makefile para incluir external/*.cpp
- Mantener lógica del juego (ball.h/.cpp, main.cpp) en source/
- Mejorar organización y separación de responsabilidades

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 08:31:52 +02:00
bd40109f57 Mejorar aspecto visual y configurar filtro nearest neighbor
- Cambiar tamaño de pelota de 8x8 a 10x10 píxeles
- Aclarar color de fondo de (32,32,32) a (64,64,64)
- Redibujar textura ball.png con mejor definición
- Implementar filtro nearest neighbor para texturas píxel-perfect
- Actualizar README.md con documentación completa del proyecto

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 08:25:18 +02:00
dd73ca3514 Añadir código fuente del proyecto vibe1_delta
- Renombrar proyecto de demo5_sprites_bouncing a vibe1_delta
- Actualizar CMakeLists.txt, Makefile y defines.h con nuevo nombre
- Añadir código fuente C++ para simulación de sprites con física
- Incluir recursos (texturas) y configuración de compilación
- Crear .gitignore apropiado para proyectos C++

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 08:04:24 +02:00