Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-04-04Move ImageTileWrapper to BKE.Jeroen Bakker
ImageTileWrapper is a wrapper around ImageTile to centralize tile calculations when using CPP. Currentry used by the image engine and will be used for the 3d texturing brush project.
2022-03-31Cleanup: spelling, trailing space for comment-blocksCampbell Barton
2022-03-24Cleanup: remove debug printsBrecht Van Lommel
2022-03-24Fix missing updates for external render engines rendering tilesBrecht Van Lommel
For render image buffers to be acquired, a lock must be provided. Also fixed wrong usage of release, it must always be called regardless if the returned image buffer is NULL.
2022-03-19Revert "Compositor: Support backdrop offset for the Viewer node"Brecht Van Lommel
This reverts commit 33409f9f1cd42e899f2706fe7878e5e89b50d617, as it breaks panning in the image editor. Fixes T96543
2022-03-17Compositor: Support backdrop offset for the Viewer nodeHabib Gahbiche
This is only part of the experimental "Full Frame" mode (disabled by default). See T88150. Currently the viewer node uses buffer paddings to display image offset in the backdrop as a temporal solution implemented for {D12466}. This solution is inefficient memory and performance-wise. Another issue is that the paddings are part the image when saved. This patch instead sets the offset in the Viewer node image as variables and makes the backdrop take it into account when drawing the image or any related gizmo. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D12750
2022-03-04Cleanup: spelling in comments, function nameCampbell Barton
2022-03-01Merge branch 'blender-v3.1-release'Sergey Sharybin
2022-03-01Fix T96097: Image editor tile drawing not working.Jeroen Bakker
The image engine is depth aware when using tile drawing the depth is only updated for the central image what lead to showing the background on top of other areas. Also makes sure that switching the tile drawing would lead to an update of the texture slots.
2022-03-01Merge branch 'blender-v3.1-release'Jacques Lucke
2022-03-01Fix painting on none 256 aligned images.Jeroen Bakker
Internally the update tiles are 256x256. Due to some miscalculations tiles were not generated correctly if the dimension of the image wasn't a multifold of 256.
2022-03-01Fix building error in previous commit.Jeroen Bakker
2022-03-01Image Engine: Performance 8 byte images.Jeroen Bakker
Previously we used to cache a float image representation of the image in rect_float. This adds some incorrect behavior as many areas only expect one of these buffers to be used. This patch stores float buffers inside the image engine. This is done per instance. In the future we should consider making a global cache.
2022-02-21Merge remote-tracking branch 'origin/blender-v3.1-release'Sybren A. Stüvel
2022-02-21Fix T95871: Non-float textures report as float.Jeroen Bakker
Althought the float buffers are only used as cache, current code paths don't look at the flags to identify which kind of image it is. Actual fix would be to check flags, but that wouldn't be something to add one week before release. This commit fixes it by removing the buffers after use in the image engine.
2022-02-18Merge branch 'blender-v3.1-release'Jeroen Bakker
2022-02-18Image Engine: Store image usage to identity changes.Jeroen Bakker
Previous implementation had a copy of the image user, which doesn't contain all the data to identify changes. This patch introduces a new struct to store the data and can be extended with other data as well (color spaces, alpha settings).
2022-02-14Merge branch 'blender-v3.1-release'Jeroen Bakker
2022-02-14Cleanup use c style comments.Jeroen Bakker
2022-02-14Fix T95725: Changing render slot doesn't update displayed image.Jeroen Bakker
Fixed by checking the requested pass, layer and view against the previous used one.
2022-02-14Merge branch 'blender-v3.1-release'Jeroen Bakker
2022-02-14Image Engine: Remove region_uv_bounds.Jeroen Bakker
They have been replaced by clipping_uv_bounds. Using region_uv_bounds could lead to problems when drawing the compositor backdrop.
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2022-02-07Cleanup: spelling in commentsCampbell Barton
2022-02-04Merge branch 'blender-v3.1-release'Clément Foucault
# Conflicts: # source/blender/draw/engines/workbench/workbench_effect_cavity.c
2022-02-04Image Editor: Fix slowdown with 8b colormanaged images.Jeroen Bakker
Byte images are converted to float. Due to an issue how VSE cache is freeing its images we cannot store these float buffers what leads to recalculating it for each change in the image editor. This fix will reduce the slowdown to areas that have the root cause of the memory leak, so the buffers can be reused between refreshes. NOTE: The root cause should still be fixed. Thanks for reporting Sybren!
2022-02-04Merge branch 'blender-v3.1-release'Jacques Lucke
2022-02-04Compositor: Backdrop mode changes node grid.Jeroen Bakker
When viewing backdrop on top of the node grid, the grid would be rendered black when the mode wasn't set to RGBA. This fix fixes this by reverting the previous fix of drawing the backdrop and implement a different one that recomputes the UV coordinates on the screen edges.
2022-02-02Merge branch 'blender-v3.1-release'Bastien Montagne
2022-02-02Draw Manager: Marked work around code.Jeroen Bakker
Mark the work around that was added for the VSE memory leak.
2022-02-02Workaround for VSE memory leak.Jeroen Bakker
This is a temp fix for a memory leak where the VSE isn't aware that a float representation of the image could exist. The VSE somehow doens't clears it (refcounter is still 1). The work around is just to let the image engine clean up all the data it created. Potential this would add more overhead when buffers are needed more than once.
2022-02-02Cleanup: spelling in commentsCampbell Barton
2022-01-31Merge branch 'blender-v3.1-release'Campbell Barton
2022-01-31Merge branch 'blender-v3.1-release'Campbell Barton
2022-01-31Merge branch 'blender-v3.1-release'Campbell Barton
2022-01-31Image editor: Fix drawing artifacts with render results.Jeroen Bakker
Use the input depth texture to determine if the color of the texture should be shown.
2022-01-31Fix T95299: Empty render results show transparency checkerboard.Jeroen Bakker
When an image buffer cannot be read the checkerboard should not be drawn.
2022-01-31Image Editor: Fix background drawing of empty tiles.Jeroen Bakker
Empty (UDIM) tiles where drawn with a transparency checkerboard. They should be rendered with a border background. The cause is that the image engine would select a single area that contained all tiles and draw them as being part of an image. The fix is to separate the color and depth part of the image engine shader and only draw the depths of tiles that are enabled.
2022-01-31Cleanup: spelling in commentsCampbell Barton
2022-01-28Image Engine: Remove unused shader parameter Color.Jeroen Bakker
This change removes an unused shader parameter that also collided when a local varialble with the same name was used on different platforms.
2022-01-28Image Engine: Use GPUShaderCreateInfo.Jeroen Bakker
Ported the image engine shaders to use the GPUShaderCreateInfo struct. No functional changes.
2022-01-28Draw: Remove unused shader.Jeroen Bakker
tile images aren't a special case anymore for the image engine.
2022-01-28DrawManager: Image engine support huge images.Jeroen Bakker
Adding better support for drawing huge images in the image/uv editor. Also solved tearing artifacts. The approach is that for each image/uv editor a screen space gpu texture is created that only contains the visible pixels. When zooming or panning the gpu texture is rebuild. Although the solution isn't memory intensive other parts of blender memory usage scales together with the image size. * Due to complexity we didn't implement partial updates when drawing images tiled (wrap repeat). This could be added, but is complicated as a change in the source could mean many different changes on the GPU texture. The work around for now is to tag all gpu textures to be dirty when changes are detected. Original plan was to have 4 screen space images to support panning without gpu texture creation. For now we don't see the need to implement it as the solution is already fast. Especially when GPU memory is shared with CPU ram. Reviewed By: fclem Maniphest Tasks: T92525, T92903 Differential Revision: https://developer.blender.org/D13424
2021-11-24Cleanup: Renamed DefaultDrawingMode ImageSpaceDrawingMode.Jeroen Bakker
Explains more what it does, not how it is used.
2021-11-24ImageEngine: Remove unneeded check for tiled image.Jeroen Bakker
Regular images are also tiled images, but with a default tile that leads to the same result.
2021-11-09Cleanup: clang-formatCampbell Barton
2021-11-05Cleanup: Split image engine into ImageEngine, SpaceAccessor and DrawingMode.Jeroen Bakker
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.