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
2021-01-04Cleanup: docy comments beginning with '/**' don't end with '**/'Campbell Barton
2020-12-23Fix T84063: crash reading pointer properties in Attribute shader nodeBrecht Van Lommel
Path resolving can find e.g. a datablock rather than a float or integer, treat that as a failure to find a valid property.
2020-12-21Weight Paint: fix Multi-Paint weight display after rB5502517c3.Alexander Gavrilov
Weight Paint Multi-Paint definitely depends on the weight specific flag, and vertex group locking also involves group name symmetry via BKE_object_defgroup_mirror_selection. These two are also features implemented by me so I feel confident. The rest of object_vgroup.c possibly should be changed too, but that requires more consideration than these obvious cases.
2020-12-16Fix T83547: UV Editor stitching preview is gone.Jeroen Bakker
Issue was related that the draw manager didn't invoked the draw handlers for image editors.
2020-12-16Cleanup: remove redundant struct declarationsCampbell Barton
2020-12-15Cleanup: reduce indirect DNA header inclusionCampbell Barton
Remove DNA headers, using forward declarations where possible. Also removed duplicate header, header including it's self and unnecessary inclusion of libc system headers from BKE header.
2020-12-14Fix missing string escape for RNA path creationCampbell Barton
2020-11-30Cleanup: Use "region" for ARegion variable namesHans Goudey
As proposed in T74432 and already implemented in several commits, "region" is the preferred name for `ARegion` variables, rather than any variant of "ar". This commit changes a few "ar" variables that have popped up over time and also adjusted names of variants like "arnew".
2020-11-24Viewport: cannot select object by clicking on its instancesJacques Lucke
Selecting an object by clicking on its instances only worked, when the object itself is visible. However, it is possible to hide the object and still keep the instances visible. The solution is to give every object the correct `select_id` in the depsgraph object iterator right before rendering. Reviewers: fclem, brecht Differential Revision: https://developer.blender.org/D9640
2020-11-24Fix T80748: Render Emissive Colors in Compositor BackdropJeroen Bakker
This change will use the image engine to draw the backdrop of the compositor. With this patch the alpha blending will be done in Linear Scene Reference space and shows pure emissive colors. See differential for an example image. **Technical changes** As only the backdrop drawing is done using the draw manager there are some technical changes. 1. The overlay buffer is partly drawn outside the draw manager. When drawing the backdrop image the overlay buffer needs to be masked to simulate premultiplied alpha under. 2. The backdrop of the node editor is done in region pixel space. A `DRWView` is constructed with this space. 3. UDIM textures uses world position to generate the UV coordinates. This has been implemented more strict by the `IMAGE_DRAW_FLAG_USE_WORLD_POS`. When the flag isn't used the local coordinates are used to generate the UV coordinates what is image space. 4. The draw manager now checks the actual `eSpaceType` of the space data to use different code paths. In the future the movie clip editor will be added. NOTE: The preview images in nodes are drawn in display space and cannot show pure emissive colors. As preview images are used on more locations it is best to fix this in a separate patch. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D9451
2020-11-19Cleanup: Grammar: "Allow to" vs gerundHans Goudey
In cases where "Allow" is followed by an infinitive, a noun needs to directly follow it. But it makes more sense to follow it with a gerund instead.
2020-11-18Merge branch 'blender-v2.91-release'Jeroen Bakker
2020-11-18Fix T82586: Sculpt normals not updating with EEVEE enabledPablo Dobarro
The root cause of this bug is that the function that updates the PBVH normals is drw_sculpt_generate_calls. As now both the overlays and mesh can be drawn without using pbvh drawing, the normals were not updating. This patch forces a normals updates also in the no PBVH drawing code path of the overlays. This was affecting both shading and sculpt surface sampling in both flat and smooth shading modes. Having the sculpt normals being updated by the drawing code is a wrong design which also causes other issues like: Brushes that sample the surface and do multiple stroke steps between redraws will sample invalid normals, creating artifacts during the stroke clearly visible in some brushes. Brushes that do not need to sample the surface update the normals on each redraw. This affects performance a lot as in some cases, updating the normals takes more time than doing the brush deformation. If flat shading is being used, this is only necessary to do once after the stroke ends. Reviewed By: fclem Differential Revision: https://developer.blender.org/D9535
2020-11-14GPencil: Fix callback parameter list errorAntonio Vazquez
In the previous commit the bGPDframe parameter was removed, but this parameter is required to keep the same function signature.
2020-11-14GPencil: Fix compiler warning, unused variableFalk David
2020-11-13GPencil: Merge GSoC curve edit modeFalk David
Differential Revision: https://developer.blender.org/D8660 This patch is the result of the GSoC 2020 "Editing Grease Pencil Strokes Using Curves" project. It adds a submode to greasepencil edit mode that allows for the transformation of greasepencil strokes using bezier curves. More information about the project can be found here: https://wiki.blender.org/wiki/User:Filedescriptor/GSoC_2020.
2020-11-13UI: Adaptive HDRI preview resolutionIvan Perevala
HDRI preview should have resolution dependent on dpi, viewport scale and HDRI gizmo size. This patch uses a LOD to render a more round sphere. Reviewed By: Jeroen Bakker Differential Revision: https://developer.blender.org/D9382
2020-11-09Merge branch 'blender-v2.91-release'Brecht Van Lommel
2020-11-09Fix T78028: crash with grease pencil and save buffersBrecht Van Lommel
Perform grease pencil rendering delayed in this case, as there are no render buffers available for compositing. This keeps memory usage lower, but does involve multiple depsgraph evaluation. This seems in line with the intent of the save buffers feature, to use minimal memory.
2020-11-06Cleanup: use ELEM macroCampbell Barton
2020-11-06Cleanup: follow our code style for float literalsCampbell Barton
2020-11-06Cleanup: sort structs, filesCampbell Barton
2020-11-06Cleanup: clang-formatCampbell Barton
2020-11-04Merge branch 'blender-v2.91-release'Jeroen Bakker
2020-11-04Fix T67832: Camera Background Images View TransformJeroen Bakker
This patch will apply the view transform when a movie clip is used as camera background image. It does this by rendering the image in the color buffer when it needs the view transform. For other images it uses the overlay buffer. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D7067
2020-11-04Fix T81775: Object Disappears During Texture PaintingJeroen Bakker
Issue was that the `tris_per_mat` are not created when the first batch is drawn during select operator and then is not created when needed by the workbench pass since they are not tracked by mesh_buffer_cache_create_requested. This change will create the `tris_per_mat` just in case they are needed later. Solution by Clément Foucault Differential Revision: https://developer.blender.org/D9430
2020-11-04Fix for previous cleanup commitHans Goudey
2020-11-04Cleanup: Clang tidyHans Goudey
2020-11-03Materials: add custom object properties as uniform attributes.Alexander Gavrilov
This patch allows the user to type a property name into the Attribute node, which will then output the value of the property for each individual object, allowing to e.g. customize shaders by object without duplicating the shader. In order to make supporting this easier for Eevee, it is necessary to explicitly choose whether the attribute is varying or uniform via a dropdown option of the Attribute node. The dropdown also allows choosing whether instancing should be taken into account. The Cycles design treats all attributes as one common namespace, so the Blender interface converts the enum to a name prefix that can't be entered using keyboard. In Eevee, the attributes are provided to the shader via a UBO indexed with resource_id, similar to the existing Object Info data. Unlike it, however, it is necessary to maintain a separate buffer for every requested combination of attributes. This is done using a hash table with the attribute set as the key, as it is expected that technically different but similar materials may use the same set of attributes. In addition, in order to minimize wasted memory, a sparse UBO pool is implemented, so that chunks that don't contain any data don't have to be allocated. The back-end Cycles code is already refactored and committed by Brecht. Differential Revision: https://developer.blender.org/D2057
2020-11-03Merge branch 'blender-v2.91-release'Campbell Barton
2020-11-03DrawManager: Cleanup unneeded memory allocationJeroen Bakker
`tris_per_mat` is only valid for the final buffer cache. It was allocated for every buffer cache.
2020-10-30Fix crash when using multiple Sculpt Vertex Color layers for renderingPablo Dobarro
This line was probable left there after a bad merge. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D9367
2020-10-27Cleanup: use over-line for doxy commentsCampbell Barton
Follow our code style for doxygen sections.
2020-10-21DrawManager: Adding Custom Render PassesJeroen Bakker
Currently render passes in the draw manager (eevee) must be predefined in the render result. This patch would ask the render engine for the render passes it needs, and create these as a preparation step during rendering. This allows any draw engine to define more complex render passes setup. Render passes can only be added before the call to `RE_engine_begin_result`. `RE_engine_begin_result` makes a full copy of the render passes. During rendering the render engines renders to the duplicated passes. `RE_engine_end_result` syncs the data back to the original render passes, but only if the passes existed in the original render result. Currently we work-around this issue by registering the passes in `render_result_new`. This is legacy blender internal structure and should be avoided. With upcoming projects (AOV/Cryptomatte) it becomes a bit of a mess as we are extending legacy code to support new features. This patch allows us to let each draw engine register their own render passes at render time (similar to cycles and other render engines). In the future we could get rid of legacy render passes registration in render_result_new. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D9088
2020-10-20DRW: Disable anisotropic filtering on utility texturesClément Foucault
Anisotropic filter may result in incorrect algorithm. This only affects util textures (not Image datablocks gpu textures).
2020-10-20Volumes: simplify volumes in modifiers or on loadJacques Lucke
This changes how the simplify volumes setting works. Before, it only affeted viewport rendering. This was an issue, because all internal computations would still have to happen on the high resolution volumes. With this patch, the simplify setting already affects file loading and procedural generation of volumes. Rendering does not have to care about the simplify option anymore, it just gets the correct simplified version from the depsgraph. Reviewers: brecht Differential Revision: https://developer.blender.org/D9176
2020-10-19Spelling: Loose Versus LoseHarley Acheson
Corrects incorrect usages of the word 'loose' when 'lose' was required. Differential Revision: https://developer.blender.org/D9243 Reviewed by Campbell Barton
2020-10-19Spelling: MiscellaneousHarley Acheson
Corrects 34 miscellaneous misspelled words. Differential Revision: https://developer.blender.org/D9248 Reviewed by Campbell Barton
2020-10-19Spelling: Then Versus ThanHarley Acheson
Corrects incorrect usages of the words 'then' and 'than'. Differential Revision: https://developer.blender.org/D9246 Reviewed by Campbell Barton
2020-10-19Spelling: It's Versus ItsHarley Acheson
Corrects incorrect usage of contraction for 'it is', when possessive 'its' was required. Differential Revision: https://developer.blender.org/D9250 Reviewed by Campbell Barton
2020-10-19Fix T81167: Texture Painting with Paint mask enabled, (de)selecting faces ↵Jeroen Bakker
causes a mess with texture slots Issue caused by {9582797d4b50} in b2.90. The surface per material used an index buffer owned by the batch. These index buffers are created at the same time the surface tris index buffer was created. When a material per batch buffer was invalidated it used the surface tris index buffer rendering all materials on all surfaces making the last draw command render succeed. This patch stores the surface tris per material in the cache so they can be reused. There is also no need to use the `saved_elem_ranges` anymore as they are now part of the cache. The ugly bit of the implementation is that in `extract_tris_finish` the MeshBufferCache is retrieved. But as this part was already documented as a hack and it is something that is only used for final meshes. Other solutions would impact performance or made the fix not condensed (passing parameters that shouldn't be used). Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D9136
2020-10-10Cleanup: use C comments for descriptive textCampbell Barton
Follow our code style guide by using C-comments for text descriptions.
2020-10-09CleanUp: Introduce `eMeshBatchDirtyMode` enumJeroen Bakker
It used to be an int mode.
2020-10-09Revert "CleanUp: Introduce `eMeshBatchDirtyMode` enum"Jeroen Bakker
This reverts commit 0796807720882731cdb70be144aa182e9b0b9ee5.
2020-10-07UV/Image Editor: Overlay PopoverJeroen Bakker
The overlay options in the image/uv editor is hidden in side panels and menus. Sometimes this panel is even hidden, while still useful. The goal of this task is to introduce an overlay pop-over just like the overlay-popover of the 3d viewport. Popover has * UV Stretching (only available in the UV mode, when active object mode is a mesh and in OB_EDIT mode) * Display As (only available in the UV mode, when active object mode is a mesh and in OB_EDIT mode) * Show Modified (only available in the UV mode, when active object mode is a mesh and in OB_EDIT mode) * Show UV Edges (including opacity slider; available UV, View, Paint, when active object mode is a mesh and in OB_EDIT mode) * Udim tiles when no image is available. Like the 3d viewport, there will be a editor toggle to enable/disable the overlays For compatibility reasons the RNA properties are added to both the `SpaceImage.uv_editor` amd `SpaceImage.overlay`. On DNA level they are still stored in the SpaceImage. only new properties are added to the SpaceImageOverlay struct. During the next major release we could remove these options from `SpaceImage.uv_editor`. This should be noted in the Python section of release notes. Reviewed By: Julian Eisel, Pablo Vazquez Differential Revision: https://developer.blender.org/D8890
2020-10-07CleanUp: DrawManager Balanced alloc/free of surface_per_mat cacheJeroen Bakker
The alloc was done in the init, but the free was done in the discard. As discarding can happen more often there were some unneeded if statements to work around use after free. This patch moves the free to the `mesh_batch_cache_clear` and removes the if statements to check for use after free.
2020-10-07CleanUp: Introduce `eMeshBatchDirtyMode` enumJeroen Bakker
It used to be an `int mode`.
2020-10-06Fix T81459: Memory Leak Cycles Rendered ViewportJeroen Bakker
The external engine in the draw manager wasn't registered correctly. This did not free the resources after the external engine was used.
2020-10-01Volumes: support lower resolution in viewportJacques Lucke
The adds a new option to simplify volumes in the viewport. The setting can be found in the Simplify panel in the render properties. Volume objects use OpenVDB grids, which are sparse. For rendering, we have to convert sparse grids to dense grids (for now). Those require significantly more memory. Therefore, it's often a good idea to reduce the resolution of volumes in the viewport. Reviewers: brecht Differential Revision: https://developer.blender.org/D9040 Ref T73201.
2020-09-30Cleanup: convert gforge task ID's to phabricator formatValentin
Cleanup old tracker task format to the new. e.g: [#34039] to T34039 Ref D8718