Blender Git Commit Log

Git Commits -> Revision 32c90d2

Revision 32c90d2 by Jeroen Bakker (master)
November 5, 2021, 12:25 (GMT)
Cleanup: Split image engine into ImageEngine, SpaceAccessor and DrawingMode.

Image engine is used to draw an image into a space. The current
structure wasn't clear and couldn't be easilly extended. This refactor
spliced the image draw engine into 3 main components.

- Space accessors: contains an interface to communicate with space data
(Image editor, UV Editor, Node Editor) in a common way. This reduced
the branching in the code base.
- DrawingMode: contains an interface to the used tactic to draw an image
inside the space framebuffer. Currently only one mode is implemented;
in the future there could be a separate drawing mode for huge images.
- ImageEngine: the core that connects the draw manager with the space
data and drawing mode.

Commit Details:

Full Hash: 32c90d2d7c96225f3271fc5e9bc64f7ad81b886f
Parent Commit: d7f4fdf
Lines Changed: +676, -342

3 Added Paths:

/source/blender/draw/engines/image/image_drawing_mode.hh (+154, -0) (View)
/source/blender/draw/engines/image/image_space_image.hh (+183, -0) (View)
/source/blender/draw/engines/image/image_space_node.hh (+139, -0) (View)

3 Modified Paths:

/source/blender/draw/engines/image/image_engine.cc (+71, -341) (Diff)
/source/blender/draw/engines/image/image_engine.h (+1, -1) (Diff)
/source/blender/draw/engines/image/image_private.hh (+128, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021