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
path: root/source
AgeCommit message (Collapse)Author
2022-02-01Fix T95376: Fix crash when switching to UV workspace.Jeroen Bakker
Can also happen in other places when the overlay engine is active. Some parts of the overlay engine uses builtin shaders, but disable the color space conversion to the target texture. Currently there the overlay engine has its own set of libraries it could include and defined a macro to pass-throught the color space conversion. The library include mechanism currently fails when it couldn't find the builtin library in the libraries of the overlay engine. This only happened in debug mode. This change will not fail, but warns the developer if a library could not be included. In the future this should be replaced by a different mechanism that can disable the builtin library. See {T95382}.
2022-02-01Fix T95185: Invalid normals after undo in sculpt modeCampbell Barton
Since d9c6ceb3b88b6db87490b08e0089f9a18e6c52d6 partial updates to normals in sculpt-mode were accumulating into the current normal instead of a zeroed value. Zero vertex normal values tagged for calculation before accumulation. Reviewed By: HooglyBoogly Ref D13975
2022-02-01Cleanup: remove duplicate vertex normal array in SculptSessionCampbell Barton
From investigating T95185, it's important the normal returned by SCULPT_vertex_normal_get always match the PBVH normal array. Since this is always initialized in the PBVH, there is no advantage in storing the normal array in two places, it only adds the possibility that changes in the future causing different meshes normals to be used. Split out from D13975.
2022-02-01Fix building with audaspace disabledCampbell Barton
2022-02-01Fix T93856: VP9 lossless render missing alphaRichard Antalik
Since 0ea0ccc4ffd5, `AV_PIX_FMT_YUV444P` pixel format was used for lossless renders, which did override `AV_PIX_FMT_YUVA420P` format when "RGBA" output is chosen. VP9 encoder doesn't seem to support `AV_PIX_FMT_YUVA444P` pixel format, so use `AV_PIX_FMT_YUVA420P` for lossless RGBA ouput instead. Reviewed By: sergey Differential Revision: https://developer.blender.org/D13947
2022-02-01Fix T94287: gaps between strips when adding moviesRichard Antalik
Currently, audio and video strips are synchronized based on data from media stream, which is nice, but this causes gaps between strips. This synchronization was implemented by moving movie strip position relative to sound, which doesn't make much sense for user which is mostly interested in editing video. Code was bit hard to read, so it has been simplified. Ideally video stream time would be easily accessible so synchronization could be done at any time, but this is not necessary at this point. Reviewed By: zeddb Differential Revision: https://developer.blender.org/D13948
2022-01-31Fix crash with non-closed meshes in recent bugfix for texture marginBrecht Van Lommel
Ref T95249, D13935
2022-01-31Fix: Unutilized curve mapping in vector shader nodeAaron Carlisle
This could result in a shading errors is some cases such as undo. Follow up to rB1405787142d1f87f18631114167675ed145f6d75
2022-01-31UI Papercut: Fix gap in node outlineLeon Schittek
Correct corner radius of the node outline to prevent a noticeable gap in some cases. --- Currently we make a small mistake in the creation of the node outline: We offset the rectangle describing the outline by the outline thickness, but we don't adjust the corner radius accordingly. Therefore the rounded corner of the outline and the node body are not concentric which can sometimes lead to a visible gap at the corner. How noticeable it is depends on the theme, the screen's dpi and the line thickness set in the preferences. Simply adjusting the corner radius for the outline to also be increased by the outline thickness fixes this small issue. | display, line thickness | **patch** | **master** | | --- | --- | --- | | 1080p, default/thin | {F12835304} | {F12835305} | | retina, thin | {F12835306} | {F12835307} | The issue was mentioned by @hitrpr Reviewed By: Blendify Differential Revision: https://developer.blender.org/D13955
2022-01-31Fix T95250: bake margin adjacent faces uses stale UV map in edit modeMartijn Versteegh
Use the evaluated mesh to generate the Adjacent Faces margin. Baking used the evaluated mesh, but generating the margin used the base mesh. This would lead to generating the margin from a stale UV map when the UV editor was open and the UV map was changed. Fix it by passing the same mesh as used for baking through to the margin generation. Differential Revision: https://developer.blender.org/D13938
2022-01-31Fix T95249: bake margin adjacent faces fails in some directionsMartijn Versteegh
The new adjacent faces method border lookup fails in some directions around 45 degrees * Use 8 Dijkstra directions (also diagonally) to determine which polygon is the closest to each pixel. Using only Manhattan distance lead to large parts of the texture which were matched with the wrong polygon. * Use neighbroing polygons for edge search. The Adjacent Faces algorithm needs to determine the closest edge, in UV space, each pixel. To speed this up first as map is built which finds the closest polygon for each pixel along horizontal, vertical and diagonal steps. Because this can sometimes be one edge off we first look in the polygon from the map, if that fails also check the edges of its neighbouring UV polygons. Differential Revision: https://developer.blender.org/D13935
2022-01-31Cleanup: remove wrong assertMartijn Versteegh
Was accidentally left in after refactoring. Fixes T95347 Differential Revision: https://developer.blender.org/D13963
2022-01-31Fix T95205: remove attribute only onceJacques Lucke
The bug was caused by a typo.
2022-01-31Fix T95341: BGL renders incorrect colorJeroen Bakker
Missing include statements of the gpu_shader_colorspace_lib.glsl in various shaders ignored the target texture color space.
2022-01-31Cleanup: Change NULL to nullptr.Jeroen Bakker
2022-01-31Fix (studio-reported) missing RNA path for EEVEE render passes.Bastien Montagne
For those EEVEE passes a bit of trickery with pointer offsets allows to get the owning viewlayer, so path generation is not too bad. Also moved ViewLayer path generation itself into a public utils, to avoid duplicating code. NOTE: Doing the same for AOV would be needed, but since pointer offsets won't help us here to find the owning viewlayer, not sure how to do it nicely yet (only solution I think is to loop over all AOVs of all ViewLayer of the scene to find it :( ). Reported by Beau Gerbrands (@Beaug), thanks.
2022-01-31Fix T95332: Crash loading older files.Jeroen Bakker
Image buffer was visible but buffer wasn't available. In the case the color only overlay of the render result was displayed the image buffer was not check to be valid. This patch adds a null pointer check to check in `IMB_alpha_affects_rgb` to solve this crash.
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-30Fix T95328, new obj exporter not exporting custom normals.Aras Pranckevicius
Previously, the new obj exporter was only exporting per-vertex normals for faces marked as "smooth". But a face can have custom normals, as soon as the normals data layer exists. This change makes it follow the behavior of USD & Collada exporters and the old Python one, which also export per-vertex normals as soon as the layer is there. (From Patch D13957.)
2022-01-30Fix T95315: "Override Layers" panel open crash with null CacheFileKévin Dietrich
2022-01-29Fix: Eevee: Float Curve node causes issues with compiled shaderAaron Carlisle
This fixes a regression from rBa0edee712a79239133ff840f911f6416d4c41855. Issue being the curve map not being initialized in the GPU shader function. Fixes T95221
2022-01-29Fix memory leak when adding movie stripsRichard Antalik
Introduced by b45e71e22cc7.
2022-01-29Fix T94476: Threading/performance issue with curve to points nodeHans Goudey
For every spline, *all* of the normals and tangents in the output were normalized. The node is multithreaded, so sometimes a thread overwrote the normalized result from another thread. Fixing this problem also made the node orders of magnitude faster when there are many splines.
2022-01-29Fix typos in rB0a8fa07735cdb89081b652c032c73863e34f8ff1Clément Foucault
2022-01-29Fix T95278: Crash on startup because of GLSL compiler bugClément Foucault
The GLSL defines used to make the uniform names unusable for local variable is being interpreted as recursive on some implementation. This avoids it by create a second macro avoiding the recursion.
2022-01-28UI: Use property split in new operator popupHans Goudey
This attribute conversion operator was just added. The UI looks more consistent with property split.
2022-01-28Cleanup: Clang-tidy warning gl_shader.ccJeroen Bakker
2022-01-28Cleanup: Clang-tidy warnings.Jeroen Bakker
Silence Clang-tidy warnings in gpu module.
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-28Fix compilation error in previous commit.Jeroen Bakker
2022-01-28Remove compilation warnings TexResult.Jeroen Bakker
2022-01-28Silent compilation warning in space_graph.Jeroen Bakker
2022-01-28Image engine: Remove unused parameter.Jeroen Bakker
Parameter was used to still be compatible with the previous drawing mode. The previous mode isn't available anymore so the parameter can should be removed.
2022-01-28Image Engine: Fix issue show alpha flag not reset.Jeroen Bakker
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.
2022-01-28Draw: Remove unused code in image engine shader.Jeroen Bakker
2022-01-28Blender 3.1 Beta- subversion bumpDalai Felinto
2022-01-28Blender 3.1 bcon3 (beta)Thomas Dinges
2022-01-28Fix T95060: Outliner: Broken 'make override hierarchy' in indirect linked casae.Bastien Montagne
In Outliner, 'Make Override Hierarchy' on an indirectly linked data would fail in case some items higher up in the hierarchy also needed to be overridden was also indirectly linked.
2022-01-28Draw: Remove unused shader.Jeroen Bakker
tile images aren't a special case anymore for the image engine.
2022-01-28Fix typo in comment.temp-T95279-remap-referenced-dataJeroen Bakker
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
2022-01-28Image: Partial Update Redesign.Jeroen Bakker
This patch reimplements the image partial updates. Biggest design motivation for the redesign is that currently GPUTextures must be owned by the image. This reduces flexibility and adds complexity to a single component especially when we want to have different structures. The new design is not limited to GPUTextures and can also be used by reducing overhead in image operations like scaling. Or partial image updating in Cycles. The usecase in hand is that we want to support virtual images in the image editor so we can work with images that don't fit in a single GPUTexture. Using `BKE_image_partial_update_mark_region` or `BKE_image_partial_update_mark_full_update` a part of an image can be marked as dirty. These regions are stored per ImageTile (UDIM). When a part of the code wants to receive partial changes it needs to construct a `PartialUpdateUser` by calling `BKE_image_partial_update_create`. As long as this instance is kept alive the changes can be received. When a user wants to update its own data it will call `BKE_image_partial_update_collect_changes` This will collect the changes since the last time the user called this function. When the partial changes are available the partial change can be read by calling `BKE_image_partial_update_get_next_change` It can happen that the introduced mechanism doesn't have the data anymore to construct the changes since the last time a PartialUpdateUser requested it. In this case it will get a request to perform a full update. Maniphest Tasks: T92613 Differential Revision: https://developer.blender.org/D13238
2022-01-28Cleanup: add compiler attributes to BLI_path functionsCampbell Barton
2022-01-28BLI_path: assert passing relative paths to BLI_path_cmp_normalizedCampbell Barton
Assert when "//" prefixed relative paths are passed to BLI_path_cmp_normalized as this can't be expanded and it's possible the paths come from different blend files.
2022-01-28Cleanup: indentation for CMake filesCampbell Barton
Also minor white-space & case changes.
2022-01-28Cleanup: spelling in commentsCampbell Barton
Also minor wording improvements.
2022-01-28Cleanup: rename BLI_paths_equal to BLI_path_cmp_normalizedCampbell Barton
Changes to recent addition: c85c52f2ce478ab0e30c5e93fd5a5cb812db232f. Having both BLI_paths_equal and BLI_path_cmp made it ambiguous which should be used, as `BLI_paths_equal` wasn't the equivalent to `BLI_path_cmp(..) == 0` as it is for string equals macro `STREQ(..)`. It's also a more specialized function which is not used for path comparison throughout Blender's internal path handling logic. Instead rename this `BLI_path_cmp_normalized` and return the result of `BLI_path_cmp` to make it clear paths are modified before comparison. Also add comments about the conventions for Blender's path comparison as well as a possible equivalent to Python's `os.path.samefile` for checking if two paths point to the same location on the file-system.