[Bf-blender-cvs] [23ac11c0c73] temp-gpu-image-engine: Fix tile image drawing
Jeroen Bakker
noreply at git.blender.org
Mon Dec 6 14:45:57 CET 2021
Commit: 23ac11c0c73d5ef2f3824112caa09960821d4ddf
Author: Jeroen Bakker
Date: Mon Dec 6 14:45:40 2021 +0100
Branches: temp-gpu-image-engine
https://developer.blender.org/rB23ac11c0c73d5ef2f3824112caa09960821d4ddf
Fix tile image drawing
===================================================================
M source/blender/draw/engines/image/image_drawing_mode_screen_space.hh
===================================================================
diff --git a/source/blender/draw/engines/image/image_drawing_mode_screen_space.hh b/source/blender/draw/engines/image/image_drawing_mode_screen_space.hh
index 797a327add0..64e44bc6f11 100644
--- a/source/blender/draw/engines/image/image_drawing_mode_screen_space.hh
+++ b/source/blender/draw/engines/image/image_drawing_mode_screen_space.hh
@@ -564,13 +564,26 @@ class ScreenSpaceDrawingMode : public AbstractDrawingMode {
uv_to_texel[3][0] *= texture_width;
uv_to_texel[3][1] *= texture_height;
invert_m4(uv_to_texel);
+
+ rctf crop_rect;
+ rctf *crop_rect_ptr = nullptr;
+ /* TODO: use regular when drawing none repeating single tile buffers. */
+ eIMBTransformMode transform_mode; // = IMB_TRANSFORM_MODE_REGULAR;
+ if (pd.flags.do_tile_drawing) {
+ transform_mode = IMB_TRANSFORM_MODE_WRAP_REPEAT;
+ }
+ else {
+ BLI_rctf_init(&crop_rect, 0.0, tile_buffer.x, 0.0, tile_buffer.y);
+ crop_rect_ptr = &crop_rect;
+ transform_mode = IMB_TRANSFORM_MODE_CROP_SRC;
+ }
+
IMB_transform(&tile_buffer,
&texture_buffer,
- pd.flags.do_tile_drawing ? IMB_TRANSFORM_MODE_WRAP_REPEAT :
- IMB_TRANSFORM_MODE_REGULAR,
+ transform_mode,
IMB_FILTER_NEAREST,
uv_to_texel,
- nullptr);
+ crop_rect_ptr);
}
public:
More information about the Bf-blender-cvs
mailing list