From bd40109f574e41cbacc2dbdef14bbbe090a25590 Mon Sep 17 00:00:00 2001 From: Sergio Valor Date: Mon, 15 Sep 2025 08:25:18 +0200 Subject: [PATCH] Mejorar aspecto visual y configurar filtro nearest neighbor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- README.md | Bin 0 -> 4726 bytes resources/ball.png | Bin 128 -> 162 bytes source/defines.h | 2 +- source/main.cpp | 2 +- source/texture.cpp | 3 +++ 5 files changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f75ec913b8abb85c4f85eea419f1c2f4b6fe2f51 100644 GIT binary patch literal 4726 zcmai2O>Y~?5nbdsm%Zec910+?CTWqPq_x*8L<`82EC_2wf~jPWR&%CFwKOw5+dadj z9Ra5nJ;gSs7x&)8DvE}~j=*q8cwOaGIJb;j8&Q z!Xvuc89lqgsj1552F~UmGVR2HI&ui-7NW`D`0<2)?0nDv;l~sHf#=^3NOT>~E)J)s z=dABEE2`8(VQD!hDZU$p*T|Y8<(!$rKDOb6B@R<02T7*HI2~+8nZgACO$w;FW6Gyz zDm9GRbOXh^5Qcw!$;faOiW3On6Bji`qUh@CDq5MjevQYa+Kztv#TVplXVBmtlgFk|De6~J8I%i-TH!gMJHFm-#d|b`>zbb9Il4_N*9}N3 z96G~Byb%s<3F2L_A~vO7vyZ-25FY4OL!;nQ4r*vvYG4;_3eqNf$Mv+476fTOzHS`{ zIy@RvgV`2y@ALM`WWFrdWh+BHbX4@ErZdi~Wq=c#_MpFshF^31%lT`QsU^&A;%(-s zL8pj;2JT`2;SzPx8q8S&dL(Z?B#sqH?2CL^n-5ch-_lo5M>Vqg&(_bVxL<3aejpVv zJyW;(CCv6?_!7hsx=oJ>0h41Qz~>hRHL>~n#Cbjyv0>w-Da|qm;@k5*I&|^1Sy@l= z2A~E&0Q3`6N|kcUJ$OW~^p6!fWr??3$#rb&h8u=UAB`7Hl8zWQ<(Wr?0`|M`o(-kF@$Td?PFb{aelQ&3n-3UKA$n&8+#_$TgRE`vdL z`E$$@3{-*Z@6jiQ|~z}Czg7DZsf;0M-)s&%FgTTwD;SYV*| z{Rp`k(N$F>s?`0#)jowdGVw%W+ewoKrdJ=2uXTKTyaKqq$Y3rw7pHoIW>7? zl5n4EMY}uSMrJ{MG}G57y1X>;EmDTp;NG{MzN4e#v-8)pi{s;?0sV=fW%B^w04tkp zKb>$E`CVHZ?td%e&l|-4mCp2y1*PE5p9}v5dka+zMu+gBI@&&eBswDT9Amy}d9Z^|CS!!TM;!KqYN5Cn^Qp4p@-E zg&D?<$So$Yb|ejZ&1REeBNQ)zQaxc3;zBL}@H`ccV+YWvDrP{5@rA`G=AkX8FPwNO zEnawvEnqvcT`whzO4u3f2~Cd~HXsJE6)xdkDERM`K8u6DU_vsQ}xS-a!DHEI)+}V;bIx$z8!XCNfoT(+g}w6_`^03ap8w zU)idp(VXfx+j*r|YJ{u-q*z^L8NCuGF@Q4&!Q8kGcC95mAE}HU9sZ(t+=>!Ty(kGA z?IUP``xlkJ23lo0qFn?P1wVwvOOyXUL!LA)T~r|b%;3-tLdgD2zvq>|9*2yq5uxie zagu&B9QsVT5^T_*?i@B=>Q}jeme)n;w#Z*AY`gsTAmp&a=`(y3;Y`?`Umc#FZqgiA z&ZGFyO#+lQr7OurY3E+e@wo-KiRL?b3?PoYy@YbdY-)CH@L_yv!n=7x5823162w7p z{5QOWN&EFYC4dab$)JN#vSZ z7ucs=MBw7l2t5lng%3{{MpDO&J5aRGe1;-WXTz2t5|mmt`!gS!a4NZ{F&7>W{|n#? B9Yp{D literal 0 HcmV?d00001 diff --git a/resources/ball.png b/resources/ball.png index f7b741171b02547c3dae8b3be252df7fcf4d91fc..4ead2915859c5d701f404437e6517d0b0c921680 100644 GIT binary patch literal 162 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4F%}28J29*~C-V}>iScxC43U`H zJK-Yd0R)={vUVaC*|j~Wx_%-s2O z@{&(`ckZ>~*!$ho+<3F$vFZDd-e-uY%{u=0w5MI4S6u4ZUk}AidpZp~T*IFO?P2hA L^>bP0l+XkKX~I1; literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqjKx9jP7LeL$-D$|tUO&DLnNlQ z_B--1C~zDO`~UxWWdM(&Ky^whPszqyRR)zz-iNaT4=c^(mfdL1bufH^_ROj|;Z~ZP ZcxPnFG5&vGT?jOV!PC{xWt~$(69D>)B~kzY diff --git a/source/defines.h b/source/defines.h index 65b8b7f..0e49d37 100644 --- a/source/defines.h +++ b/source/defines.h @@ -5,7 +5,7 @@ constexpr char WINDOW_CAPTION[] = "vibe1_delta"; constexpr int SCREEN_WIDTH = 320; constexpr int SCREEN_HEIGHT = 240; constexpr int WINDOW_SIZE = 3; -constexpr int BALL_SIZE = 8; +constexpr int BALL_SIZE = 10; constexpr float GRAVITY_FORCE = 0.2f; constexpr Uint64 DEMO_SPEED = 1000 / 60; diff --git a/source/main.cpp b/source/main.cpp index 987538b..2edbaf8 100644 --- a/source/main.cpp +++ b/source/main.cpp @@ -235,7 +235,7 @@ void update() // Renderiza el contenido en la pantalla void render() { - SDL_SetRenderDrawColor(renderer, 32, 32, 32, 255); + SDL_SetRenderDrawColor(renderer, 64, 64, 64, 255); SDL_RenderClear(renderer); for (auto &ball : balls) diff --git a/source/texture.cpp b/source/texture.cpp index 9f3fde0..2e7cc41 100644 --- a/source/texture.cpp +++ b/source/texture.cpp @@ -79,6 +79,9 @@ bool Texture::loadFromFile(const std::string &file_path) // Obtiene las dimensiones de la imagen width_ = loaded_surface->w; height_ = loaded_surface->h; + + // Configurar filtro nearest neighbor para píxel perfect + SDL_SetTextureScaleMode(new_texture, SDL_SCALEMODE_NEAREST); } // Destruye la superficie cargada