diff options
| -rw-r--r-- | src/crepe/facade/SDLContext.cpp | 4 | ||||
| -rw-r--r-- | src/crepe/facade/SDLContext.h | 8 | ||||
| -rw-r--r-- | src/example/rendering_particle.cpp | 4 | 
3 files changed, 9 insertions, 7 deletions
| 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 <SDL2/SDL.h> +#include <SDL2/SDL_blendmode.h>  #include <SDL2/SDL_image.h>  #include <SDL2/SDL_keycode.h>  #include <SDL2/SDL_rect.h> @@ -9,6 +10,7 @@  #include <cstddef>  #include <cstdint>  #include <functional> +#include <iostream>  #include <memory>  #include <stdexcept> @@ -215,6 +217,7 @@ SDLContext::texture_from_path(const std::string & path) {  	std::unique_ptr<SDL_Texture, std::function<void(SDL_Texture *)>> 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<Sprite>( @@ -59,7 +59,7 @@ int main(int argc, char * argv[]) {  	});  	*/ -	auto & cam = game_object.add_component<Camera>(Color::WHITE, ivec2{1080, 720}, +	auto & cam = game_object.add_component<Camera>(Color::RED, ivec2{1080, 720},  												   vec2{2000, 2000}, 1.0f);  	/* |