From 767f40a61952892d60d204ecaaffa07e7e396d28 Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Thu, 14 Nov 2024 10:05:08 +0100 Subject: color paremeter in sprite works --- src/example/rendering_particle.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/example/rendering_particle.cpp') diff --git a/src/example/rendering_particle.cpp b/src/example/rendering_particle.cpp index dd08354..cb95ede 100644 --- a/src/example/rendering_particle.cpp +++ b/src/example/rendering_particle.cpp @@ -22,9 +22,9 @@ using namespace std; int main(int argc, char * argv[]) { GameObject game_object(0, "", "", Vector2{100, 100}, 0, 0.1); - Color color(0, 0, 0, 0); + Color color(255, 255, 255, 0); Sprite test_sprite = game_object.add_component( - make_shared("../asset/texture/img.png"), color, + make_shared("../asset/texture/img.png"), Color::get_red(), FlipSettings{false, false}); game_object.add_component(ParticleEmitter::Data{ .position = {0, 0}, -- cgit v1.2.3 From 60669b60e63532bc264ecd6d106bd15f0688a5b6 Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Thu, 14 Nov 2024 20:03:28 +0100 Subject: adapted some files --- asset/texture/img.png | Bin 92742 -> 11476 bytes src/example/rendering_particle.cpp | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) (limited to 'src/example/rendering_particle.cpp') diff --git a/asset/texture/img.png b/asset/texture/img.png index 43b1eca..649a3f1 100644 Binary files a/asset/texture/img.png and b/asset/texture/img.png differ diff --git a/src/example/rendering_particle.cpp b/src/example/rendering_particle.cpp index cb95ede..75be7ff 100644 --- a/src/example/rendering_particle.cpp +++ b/src/example/rendering_particle.cpp @@ -22,7 +22,7 @@ using namespace std; int main(int argc, char * argv[]) { GameObject game_object(0, "", "", Vector2{100, 100}, 0, 0.1); - Color color(255, 255, 255, 0); + Color color(255, 255, 255, 255); Sprite test_sprite = game_object.add_component( make_shared("../asset/texture/img.png"), Color::get_red(), FlipSettings{false, false}); -- cgit v1.2.3 From cffa9f014c67133dc48569beb53a5bd6cb166faa Mon Sep 17 00:00:00 2001 From: heavydemon21 Date: Mon, 2 Dec 2024 19:18:41 +0100 Subject: rendering color working --- src/crepe/facade/SDLContext.cpp | 4 ++++ src/crepe/facade/SDLContext.h | 8 +++----- src/example/rendering_particle.cpp | 4 ++-- 3 files changed, 9 insertions(+), 7 deletions(-) (limited to 'src/example/rendering_particle.cpp') diff --git a/src/crepe/facade/SDLContext.cpp b/src/crepe/facade/SDLContext.cpp index cfe79d2..aaaec6b 100644 --- a/src/crepe/facade/SDLContext.cpp +++ b/src/crepe/facade/SDLContext.cpp @@ -1,4 +1,5 @@ #include +#include #include #include #include @@ -9,6 +10,7 @@ #include #include #include +#include #include #include @@ -215,6 +217,7 @@ SDLContext::texture_from_path(const std::string & path) { std::unique_ptr> img_texture; img_texture = {tmp_texture, [](SDL_Texture * texture) { SDL_DestroyTexture(texture); }}; + SDL_SetTextureBlendMode(img_texture.get(), SDL_BLENDMODE_BLEND); return img_texture; } int SDLContext::get_width(const Texture & ctx) const { @@ -235,5 +238,6 @@ void SDLContext::set_rbg_texture(const Texture & texture, const uint8_t & r, } void SDLContext::set_alpha_texture(const Texture & texture, const uint8_t & alpha) { + SDL_SetTextureAlphaMod(texture.texture.get(), alpha); } diff --git a/src/crepe/facade/SDLContext.h b/src/crepe/facade/SDLContext.h index 8d63c43..1c67301 100644 --- a/src/crepe/facade/SDLContext.h +++ b/src/crepe/facade/SDLContext.h @@ -162,10 +162,7 @@ private: SDL_Rect get_dst_rect(const Sprite & sprite, const vec2 & pos, const Camera & cam, const vec2 & cam_pos, const double & img_scale) const; /** - * \brief changes the texture rbg values with the given parameters - * it sets the allowed color inside a image. So if all the colors are 255 (MAXIMUM) - * it will show the given texture. however if the one of the colors is reduced it will reduce the - * + * \brief Set an additional color value multiplied into render copy operations. * * \param texture the given texture to adjust * \param r Red color @@ -175,8 +172,9 @@ private: void set_rbg_texture(const Texture & texture, const uint8_t & r, const uint8_t & g, const uint8_t & b); + /** - * \brief Modifies the transparency of the given texture + * \brief Set an additional alpha value multiplied into render copy operations. * * \param texture modify the given texture alpha channel * \param alpha alpha channel diff --git a/src/example/rendering_particle.cpp b/src/example/rendering_particle.cpp index 3a12144..349d11e 100644 --- a/src/example/rendering_particle.cpp +++ b/src/example/rendering_particle.cpp @@ -28,7 +28,7 @@ int main(int argc, char * argv[]) { ParticleSystem psys{mgr}; AnimatorSystem asys{mgr}; - Color color(255, 255, 255, 255); + Color color(255, 255, 255, 100); auto img = Texture("asset/texture/test_ap43.png"); Sprite & test_sprite = game_object.add_component( @@ -59,7 +59,7 @@ int main(int argc, char * argv[]) { }); */ - auto & cam = game_object.add_component(Color::WHITE, ivec2{1080, 720}, + auto & cam = game_object.add_component(Color::RED, ivec2{1080, 720}, vec2{2000, 2000}, 1.0f); /* -- cgit v1.2.3