Image Engine: Fix issue show alpha flag not reset.
After showing the alpha in the image editor the setting was not reset so all images in the editor showed as being transparent. This commit fixes this by resetting the flag before updating.
This commit is contained in:
parent
379814a118
commit
dcb7b3f9f7
|
@ -54,7 +54,6 @@ struct IMAGE_Data {
|
|||
#define IMAGE_DRAW_FLAG_APPLY_ALPHA (1 << 1)
|
||||
#define IMAGE_DRAW_FLAG_SHUFFLING (1 << 2)
|
||||
#define IMAGE_DRAW_FLAG_DEPTH (1 << 3)
|
||||
#define IMAGE_DRAW_FLAG_DO_REPEAT (1 << 4)
|
||||
|
||||
/**
|
||||
* Abstract class for a drawing mode of the image engine.
|
||||
|
|
|
@ -44,6 +44,7 @@ struct ShaderParameters {
|
|||
|
||||
void update(AbstractSpaceAccessor *space, const Scene *scene, Image *image, ImBuf *image_buffer)
|
||||
{
|
||||
flags = 0;
|
||||
copy_v4_fl(shuffle, 1.0f);
|
||||
copy_v2_fl2(far_near, 100.0f, 0.0f);
|
||||
|
||||
|
|
|
@ -56,11 +56,9 @@ class SpaceImageAccessor : public AbstractSpaceAccessor {
|
|||
|
||||
void get_shader_parameters(ShaderParameters &r_shader_parameters,
|
||||
ImBuf *image_buffer,
|
||||
bool is_tiled) override
|
||||
bool UNUSED(is_tiled)) override
|
||||
{
|
||||
const int sima_flag = sima->flag & ED_space_image_get_display_channel_mask(image_buffer);
|
||||
const bool do_repeat = (!is_tiled) && ((sima->flag & SI_DRAW_TILE) != 0);
|
||||
SET_FLAG_FROM_TEST(r_shader_parameters.flags, do_repeat, IMAGE_DRAW_FLAG_DO_REPEAT);
|
||||
if ((sima_flag & SI_USE_ALPHA) != 0) {
|
||||
/* Show RGBA */
|
||||
r_shader_parameters.flags |= IMAGE_DRAW_FLAG_SHOW_ALPHA | IMAGE_DRAW_FLAG_APPLY_ALPHA;
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
#define IMAGE_DRAW_FLAG_APPLY_ALPHA (1 << 1)
|
||||
#define IMAGE_DRAW_FLAG_SHUFFLING (1 << 2)
|
||||
#define IMAGE_DRAW_FLAG_DEPTH (1 << 3)
|
||||
#define IMAGE_DRAW_FLAG_DO_REPEAT (1 << 4)
|
||||
|
||||
uniform sampler2D imageTexture;
|
||||
|
||||
|
|
Loading…
Reference in New Issue