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-06-16LineArt: Cached calculation for modifiers in the same stack.YimingWu
This allows line art to run only once for each modifier stacks, with an option to toggle a specific line art modifier should use cache or re-do their own calculations. Reviewed By: Sebastian Parborg (zeddb), Hans Goudey (HooglyBoogly) Differential Revision: https://developer.blender.org/D11291
2021-06-11Refactor: Draw Cache: use 'BLI_task_parallel_range'Germano Cavalcante
This is an adaptation of {D11488}. A disadvantage of manually setting the iter ranges per thread is that we don't know how many threads are running in the background and so we don't know how to best distribute the ranges. To solve this limitation we can use `parallel_reduce` and thus let the driver choose the best distribution of ranges among the threads. This proved to be especially beneficial for computers with few cores. **Benchmarking:** Here's the result on an 4-core laptop: ||master:|PATCH: |---|---|---| |large_mesh_editing:|Average: 5.203638 FPS|Average: 5.398925 FPS ||rdata 15ms iter 43ms (frame 193ms)|rdata 14ms iter 36ms (frame 187ms) Here's the result on an 8-core PC: ||master:|PATCH: |---|---|---| |large_mesh_editing:|Average: 15.267482 FPS|Average: 15.906881 FPS ||rdata 9ms iter 28ms (frame 65ms)|rdata 9ms iter 25ms (frame 63ms) |large_mesh_editing_ledge: |Average: 15.145966 FPS|Average: 15.520474 FPS ||rdata 9ms iter 29ms (frame 65ms)|rdata 9ms iter 25ms (frame 64ms) |looptris_test:|Average: 4.001917 FPS|Average: 4.061105 FPS ||rdata 12ms iter 90ms (frame 236ms)|rdata 12ms iter 87ms (frame 230ms) |subdiv_mesh_cage_and_final:|Average: 1.917769 FPS|Average: 1.971790 FPS ||rdata 7ms iter 37ms (frame 261ms)|rdata 7ms iter 31ms (frame 258ms) ||rdata 7ms iter 38ms (frame 252ms)|rdata 7ms iter 33ms (frame 249ms) |subdiv_mesh_final_only:|Average: 6.387240 FPS|Average: 6.591251 FPS ||rdata 3ms iter 25ms (frame 151ms)|rdata 3ms iter 16ms (frame 145ms) |subdiv_mesh_final_only_ledge:|Average: 6.247393 FPS|Average: 6.596024 FPS ||rdata 3ms iter 26ms (frame 158ms)|rdata 3ms iter 16ms (frame 148ms) **Notes:** - The improvement can only be noticed if all extracts are multithreaded. - This patch touches different areas of the code, so it can be split into another patch if the idea is accepted. These screenshots show how threads behave in a quadcore: Master: {F10164664} Patch: {F10164666} Differential Revision: https://developer.blender.org/D11558
2021-06-11Sequencer: Transform ImBuf Processor.Jeroen Bakker
Inside the sequencer the cropping and transform of images/buffers were implemented locally. This reduced the optimizations that a compiler could do and added confusing code styles. This patch adds `IMB_transform` to reduce the confusion and increases compiler optimizations as more code can be inlined and we can keep track of indices inside the inner loop. This increases end-user performance by 30% when playing back aa video in VSE. Reviewed By: ISS, zeddb Differential Revision: https://developer.blender.org/D11549
2021-06-11Nodes: move mix rgb node to C++Charlie Jolly
Prepare node for conversion to Geometry Nodes. There should be no functional changes. Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D11506
2021-06-10Fix T88546: Pose slider typed input not workingChristoph Lendenfeld
Remove an unnecessary call to pose_slide_mouse_update_percentage That call was overriding the typed value Reviewed By: #animation_rigging, Sybren A. Stüvel Differential Revision: https://developer.blender.org/D11395 Ref D11395
2021-06-08LineArt: Threaded Object Loading.YimingWu
Move BMesh conversion and all loading code into worker. Reviewed By: Sebastian Parborg (zeddb) Differential Revision: https://developer.blender.org/D11288
2021-06-08Revert "Improve multires performance."Joseph Eagar
. . .because I accidentally committed submodule references. This reverts commit 482465e18aa7c9f74fcb90ec1002f157a580e240.
2021-06-08Improve multires performance.Joseph Eagar
Added a new api function to stich multires grids on specific faces in a mesh, subdiv_ccg_average_faces_boundaries_and_corners, and changed multires normal calc to use it. VTune profiling showed that this was a major performance hit once you get above 10,000 or so base mesh faces and/or have a high number of subdivision levels. Here's a video comparing the difference. Note the bpy.app_debug switch is not in the final commit. {F10145323} And the .blend file: {F10145346} Reviewed By: Sergey Sharybin (sergey) Differential Revision: https://developer.blender.org/D11334
2021-06-01Cleanup: remove unused parameter.Jeroen Bakker
2021-05-14Collada import: connect Emission texture to Emission socketScurest
An emission texture is currently connected to the Base Color socket. It should connect to the Emission socket, like a constant does. Reviewed By: gaiaclary Differential Revision: https://developer.blender.org/D10990
2021-04-30Python GPU: Add reference of PyObject GPU object to the GPU object itselfGermano Cavalcante
Instead of creating different python wrappers for the same GPU object, return the same `PyObject` created earlier. This also allows for more secure access to existing GPU objects. Reviewed By: brecht Differential Revision: https://developer.blender.org/D11044
2021-04-15Fix T87171: Update multi input socket indicesFabian Schempp
When inserting a node on top of a link, the multi input socket indices weren't updated. This fixes that and keeps the relative order of the links the same. Author: Wannes Malfait Reviewed By: Fabian Schempp Differential Revision: https://developer.blender.org/D10969
2021-04-14Fix (unreported) compositor resolution propagation broken by some nodesManuel Castilla
Some operations may use no preferredResolution ({0, 0}) when calling determineResolution on inputs to check if they have resolution on their own. See MixOperation or MathOperation determineResolution implementation. In such cases {0, 0} resolution ends up being set when an input doesn't have own resolution, breaking propagation of the original preferredResolution. They don't mean to set it as resolution, it's just a check. This patch only allows to set valid resolutions (>0). When it's 0 it may be understood as "No preferred or determined resolution" so it should not be set to give output operations another chance of finding a proper resolution by calling determineResolution again with a different preferredResolution. Test file: {F9932526} Reviewed By: #compositing, jbakker Differential Revision: https://developer.blender.org/D10972
2021-03-09Cleanup: add resource manager for cryptomatte session.Jeroen Bakker
Auto frees cryptomatte session when it the pointer is collected from the stack. Reviewed By: Jacques Lucke Differential Revision: https://developer.blender.org/D10667
2021-03-08Speedup for usual non-manifold exact boolean case.Howard Trickey
The commit rB6f63417b500d that made exact boolean work on meshes with holes (like Suzanne) unfortunately dramatically slowed things down on other non-manifold meshes that don't have holes and didn't need the per-triangle insideness test. This adds a hole_tolerant parameter, false by default, that the user can enable to get good results on non-manifold meshes with holes. Using false for this parameter speeds up the time from 90 seconds to 10 seconds on an example with 1.2M triangles.
2021-03-01Build-system: Use C-linkage for internal interface headerJulian Eisel
That way the header can be included in C++ files.
2021-02-23Fix T84707: Wrong icon for Movie Clip EditorYevgeny Makarov
Sync the list of icons in CMakeLists.txt with UI_icons.h. Restore, in the source file, the FUND icon that was accidentally deleted. Delete four old/unused icons. See also D9715.
2021-02-22GPU Python: Use 'PyC_ParseStringEnum' to parse itemsGermano Cavalcante
Currently the GPU module for python has different ways to handle enums. - Organizing items in `PyC_StringEnumItems` arrays and parsing them with `PyC_ParseStringEnum`. - Using dedicated functions for each type of enum (`bpygpu_ParsePrimType`, `pygpu_ParseVertCompType` and `pygpu_ParseVertFetchMode`). Although apparently more efficient (especially `pygpu_ParseVertCompType` which transforms strings into integers for simple comparison), these dedicated functions duplicate functionality, increase the complexity of the code and consequently make it less readable. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D10456
2021-02-04Fix T85363: Cmd + Tab shortcut overridden on macOSJohannes Jakob
Adds an exception so that the key-binding `control + Tab` does not get duplicated as `command + Tab` on macOS because this is a global system shortcut for the app switcher. The key-binding `command + Tab` was shown for the operators “Toggle Graph Editor“ and “Toggle Dope Sheet” in Dope Sheet and Graph Editor, but only `control + Tab` actually worked. Differential Revision: https://developer.blender.org/D10304
2021-01-13Revert "Fix T79356: Improved icons for MSIX builds"Jeroen Bakker
This reverts commit 78011d712dc311768a501b31917f2eef27af753b.
2021-01-13Fix T79356: Improved icons for MSIX buildsEric Bickle
Fixed an issue that was causing the app icon to render with a 'plated' background color in the taskbar and other areas of Windows. Updated all app icons in Microsoft Store package to match Microsoft's design recommendations. Added multiple scales for app icons for high resolution displays. Added high contrast app icons. Reviewed By: pablovazquez, jmonteath Maniphest Tasks: T79356 Differential Revision: https://developer.blender.org/D9681
2020-12-04EEVEE: Arbitrary Output VariablesJeroen Bakker
This patch adds support for AOVs in EEVEE. AOV Outputs can be defined in the render pass tab and used in shader materials. Both Object and World based shaders are supported. The AOV can be previewed in the viewport using the renderpass selector in the shading popover. AOV names that conflict with other AOVs are automatically corrected. AOV conflicts with render passes get a warning icon. The reason behind this is that changing render engines/passes can change the conflict, but you might not notice it. Changing this automatically would also make the materials incorrect, so best to leave this to the user. **Implementation** The patch adds a copies the AOV structures of Cycles into Blender. The goal is that the Cycles will use Blenders AOV defintions. In the Blender kernel (`layer.c`) the logic of these structures are implemented. The GLSL shader of any GPUMaterial can hold multiple outputs (the main output and the AOV outputs) based on the renderPassUBO the right output is selected. This selection uses an hash that encodes the AOV structure. The full AOV needed to be encoded when actually drawing the material pass as the AOV type changes the behavior of the AOV. This isn't known yet when the GLSL is compiled. **Future Developments** * The AOV definitions in the render layer panel isn't shared with Cycles. Cycles should be migrated to use the same viewlayer aovs. During a previous attempt this failed as the AOV validation in cycles and in Blender have implementation differences what made it crash when an aov name was invalid. This could be fixed by extending the external render engine API. * Add support to Cycles to render AOVs in the 3d viewport. * Use a drop down list for selecting AOVs in the AOV Output node. * Give user feedback when multiple AOV output nodes with the same AOV name exists in the same shader. * Fix viewing single channel images in the image editor [T83314] * Reduce viewport render time by only render needed draw passes. [T83316] Reviewed By: Brecht van Lommel, Clément Foucault Differential Revision: https://developer.blender.org/D7010
2020-12-01Fix T83275: Crash with scene statics and empty scenePablo Dobarro
ob can be NULL, so it needs to be checked before accessing ob->mode Differential Revision: https://developer.blender.org/D9680
2020-11-30Cleanup hardcoded render percentage to factor conversionMonique Dewanchand
During revision of {D8952} one of the comments was to make a function that converts the render percentage to a factor. This to avoid code duplication. However the duplicated code was already all over the compositor code. So in order to avoid this code duplication for {D8952} I propose to first cleanup the duplicated code and build patch {D8952} based on this clean up. The method that converts the render percentage to a factor is put in the CompositorContext. Why? The CompositorContext keeps DNA information like the renderdata. DNA, and thus the CompositorContext, keeps the size of the render resolution in percentage (user oriented). The compositor needs the size of the render resolution as a factor. So the CompositorContext seems like the obvious place to have this conversion method. Why not in de NodeBase? The method could've been added to the nodebase, but I wanted to keep the nodebase as clean as possible and not put simple "conversion" methods into this base class. Also I didn't really like the call flow: you'd always have to get the renderdata size from the context and then convert. Putting it in the CompositorContext avoids this extra invoke of a call. Why not in the Converter? See nodebase. And the Converter seems more like a class for "structural" and complex node tree conversions. Not the simple conversions. Reviewed By: Sergey Sharybin Differential Revision: https://developer.blender.org/D9566
2020-11-13Add An Opacity Slider to Overlay WireframeJun Mizutani
This patch adds an opacity slider to the wireframe overlay. The previous wireframe in dense geometry scenes could be too dark and sometimes the user just wants an impression of the geometry during modelling. Reviewed By: Jeroen Bakker Differential Revision: https://developer.blender.org/D7622
2020-10-15Improve Voxel Remesher volume projection artifacts on sharp edgesLeha
The voxel remesher was using the voxel size to limit the shrink-wrap projection distance. Now that distance is increased to help preserving more detail on hard surface edges. Reviewed By: pablodp606 Differential Revision: https://developer.blender.org/D6204
2020-09-25Fix Tests for Weld Modifier with KD-TreeHenrik Dick
Fixes the failing tests and reintroduces the KD-Tree solution. Reviewed By: mano-wii Differential Revision: https://developer.blender.org/D9013
2020-09-22Fix T81026: Image Editor: Alpha (like Bloom) not showing properlyJeroen Bakker
With the new image editor drawing there were was some mutual exclusive functionality. When rendering the alpha was shown correctly or the pure emissive colors were shown correctly, but never both. The cause of this is that the image_gpu did not used the correct alpha mode when generating gpu textures for non-images (render results, compositors viewer) The implementation always checked the alpha_mode. Alpha mode is an attribute for images, but aren't set for non images. This patch adds a more detailed check to ensure that the gpu texture is premultiplied. The issue has been tested using several bug report files and production files. Reviewed By: Brecht van Lommel Differential Revision: https://developer.blender.org/D8978
2020-09-18Overlay: Fade Inactive GeometryPablo Dobarro
This implements a new overlay that blends the bakground color over the objects that are not in the same mode as the active object, making them fade with the background. This is especially needed for sculpt mode as there is no other overlay or indication in the viewport to display which object is active. This is intended to be used with D7510 in order to have a faster workflow when sculpting models with multiple objects. Reviewed By: fclem Differential Revision: https://developer.blender.org/D8679
2020-09-01Audaspace: port compilation fix from upstream.Joerg Mueller
2020-09-01Transform: Move some hardcoded keyitems to keymap_data in pythonGermano Cavalcante
Keymaps must be customized by the user. But this is not the case for hardcoded keymaps. Also the repetition of hardcoded and user-defined keyitems may induce the user to think they have made a mistake or it is a bug. Differential Revision: https://developer.blender.org/D6454
2020-08-24Theme: Remove TH_UV_OTHERS from bThemeJeroen Bakker
`TH_UV_OTHERS` is a theme option that isn't hooked to anything since blender 2.80. This patch will remove the option and related code. Reviewed By: Campbell Barton Differential Revision: https://developer.blender.org/D8669
2020-08-18Cleanup: Remove unused code in the Paint CursorPablo Dobarro
This code was left here after the refactor, it was doing nothing and it was causing an assert. Reviewed By: sergey Differential Revision: https://developer.blender.org/D8579
2020-08-06UI: Reduce item padding in the edit mesh context menusYevgeny Makarov
Align items in the edit mesh context menus (reducing padding), for consistency with other menus. The root layout of menus doesn't add the padding, for sub-layouts `align` has to be enabled. {F8749633} Reviewed By: Julian Eisel Differential Revision: https://developer.blender.org/D8480
2020-08-03Audaspace: port documentation bugfix from upstream.Joerg Mueller
2020-07-22Ensure submodules are at their correct commits.Nathan Letwory
2020-06-02UI: rename Cycles point light Size to Radius, for consistency and clarityJohan Walles
Differential Revision: https://developer.blender.org/D7888
2020-04-22Reset submodule to the right place in masterDalai Felinto
Accidently changed on rB0dfe30502a02.
2020-04-22Fix T75938: Workbench normal direction for matcapsRobert Guetzkow
Set useMatcap to ensure correct normal direction when using matcaps in the workbench engine.
2020-04-20Fix crash on Multires Face Set visibility syncPablo Dobarro
Multires uses the data of the Face Sets stored in the base mesh to manage the grid's visibility, so these pointers can no longer be set to NULL when editing Multires objects as they are requried for some operations. Reviewed By: sergey Differential Revision: https://developer.blender.org/D7431
2020-04-15Ensure master points at latest submodule headsNathan Letwory
2020-03-28Cleanup: Removing unused parameter.Jörg Müller
2020-03-26Mantaflow: remove reminents of high res smokeAaron Carlisle
It appears this slipped through the code review Reviewed By: sebbas Differential Revision: https://developer.blender.org/D6760
2020-03-12Cleanup: add device_texture for images, distinct from other global memoryBrecht Van Lommel
There was too much image texture specific stuff in device_memory, and too much code duplication between devices.
2020-03-05UI: File Browser FavoritesHarley Acheson
Adding more Windows special folder locations, used when browsing or bookmarking. Differential Revision: https://developer.blender.org/D7014 Reviewed by Brecht Van Lommel
2020-02-28UI: Remove Support for Large CursorsHarley Acheson
Removing the 'Large Cursors' option as it is no longer applicable or useful on any platform. Differential Revision: https://developer.blender.org/D6958 Reviewed by Brecht Van Lommel
2020-02-01UI: Ellipsis Character for Line ContinuationHarley Acheson
Using ellipsis character for line continuation since that glpyh is now narrower. Differential Revision: https://developer.blender.org/D6728 Reviewed by Brecht Van Lommel
2019-10-24UI: Incorrect Cursor Used in Split Area OperatorHarley Acheson
Incorrect cursor shown for horizontal split when selected from edge context menu. Differential Revision: https://developer.blender.org/D6124 Reviewed by Campbell Barton
2019-10-19GPencil: Primitive: Polyline ToolCharlie Jolly
T70927 Maniphest Tasks: T70927 Differential Revision: https://developer.blender.org/D6097
2019-10-11Cleanup: Strict compiler warningsSergey Sharybin