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-04-09Fix T87117: Geometry Nodes: Add missing Map Range modes to shader nodeCharlie Jolly
Add missing modes as reported in T87117 bug report. Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10885
2021-04-02Fix T86874: Wireframe not drawing for geometry node mesh primitivesKris
The following primitives needed ME_EDGEDRAW, ME_EDGERENDER edge flags: * Grid * Circle Set flags on the inside edges for grid and circle triangle fan (mesh primitive nodes) so they are visible and selectable. Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D10878
2021-03-29Compositor: Add Anti-Aliasing nodeHabib Gahbiche
This is an implementation of Enhanced Subpixel Morphological Antialiasing (SMAA) The algorithm was proposed by: Jorge Jimenez, Jose I. Echevarria, Tiago Sousa, Diego Gutierrez This node provides only SMAA 1x mode, so the operation will be done with no spatial multisampling nor temporal supersampling. See Patch for comparisons. The existing AA operation seems to be used only for binary images by some other nodes. Using SMAA for binary images needs no important parameter such as "threshold", so we perhaps can switch the operation to SMAA, though that changes existing behavior. Notes: 1. The program code assumes the screen coordinates are DirectX style that the vertical direction is upside-down, so "top" and "bottom" actually represent bottom and top, respectively. Thanks for Habib Gahbiche (zazizizou) to polish and finalize this patch. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D2411
2021-03-23Compositor: Display generated inputs in Viewers and PreviewsManuel Castilla
Currently viewers and previews only display node trees that have at least one node with fixed resolution size. When all inputs are generated, nothing is displayed in most cases (RGB Node is displayed as a single pixel on previews). By generated I mean inputs not having resolution on their own, they create content dynamically given an output resolution. This patch adds support for those cases by using an appropriate preferred resolution on Viewers/Previews which propagates to generated inputs as output resolution. Now: - Viewers will display generated inputs with scene render resolution. - Previews will display them with scene aspect ratio. This is consistent with final render result and respects relative space. The benefit for the user is being able to compose images without any input source. For example for creating mask images or simple backgrounds. Reviewed By: Jeroen Bakker Differential Revision: https://developer.blender.org/D10611
2021-03-17Cryptomatte: Show Name of Object/Material Under The Cursor.Jeroen Bakker
This change shows the object or material name with the cursor when picking for a cryptomatte node. Reviewed By: Julian Eisel Differential Revision: https://developer.blender.org/D10705
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-16Fix 3D View is red when using stereoValdemar Lindberg
Fix T83415: 3D View is red when using stereo The red view was caused by SRGB not being enabled for an SRGB texture attached to the framebuffer. Currently, when configuring a framebuffer, the first texture attachment needs to be an SRGB format in order for the framebuffer to be binded with SRGB enabled. Thus, simply changing the SRGB texture attachment as the first texture attachment removes the red color in the view. Reviewed By: #eevee_viewport, jbakker Maniphest Tasks: T83415 Differential Revision: https://developer.blender.org/D9845
2020-12-16Revert "Steam Release: Script creation of Steam build files"Jeroen Bakker
This reverts commit 1a375d6eceed4c17f92fd90699645856e0951530.
2020-12-16Steam Release: Script creation of Steam build filesNathan Letwory
Script tool for automation of Steam build files for tasks like {T77348} For in-depth information see the README. Related Wiki page: https://wiki.blender.org/wiki/Process/Release_On_Steam Reviewed By: jbakker Maniphest Tasks: T77348 Differential Revision: https://developer.blender.org/D8429
2020-12-11Correct the order of the last two arguments in ↵Evan Wilson
`eevee_cryptomatte_shading_group_create` When compiling on Windows, the following warnings occur: ```[3468/4560] Building C object source\blender\draw\CMakeFiles\bf_draw.dir\engines\eevee\eevee_cryptomatte.c.obj C:\blender-git\blender\source\blender\draw\engines\eevee\eevee_cryptomatte.c(306): warning C4047: 'function': 'bool' differs in levels of indirection from 'void *' C:\blender-git\blender\source\blender\draw\engines\eevee\eevee_cryptomatte.c(306): warning C4024: 'eevee_cryptomatte_shading_group_create': different types for formal and actual parameter 5``` As @Severin pointed out [here](https://developer.blender.org/rB76a0b322e4d3244e59a154c8255b84a4fbc33117#288960), this is due to the last two arguments being flipped. This diff corrects the order. Reviewed By: Severin, fclem Differential Revision: https://developer.blender.org/D9809
2020-12-09Workaround for Access Violation startup crash on deprecated Radeon GPUs on ↵Jeroen Bakker
Windows This is a workaround for T80804. There's a startup crash that happens on 2.91.0 on Windows, an `EXCEPTION_ACCESS_VIOLATION` on `atio6axx.dll`. It is triggered by `glClear` on the `detect_mip_render_workaround` function. The workaround moves the function after the device/driver workaround section and sets the flag to the affected one to avoid running the check. It is deprecated hardware that has not meet the minimum requirements since 2.79, but is still usable and this extends its usability a bit before the cards are finally blacklisted. Reviewed By: Jeroen Bakker Differential Revision: https://developer.blender.org/D9667
2020-12-07Cycles: Use Blender Cryptomatte Settings.Jeroen Bakker
Blender has now the place to store the Cryptomatte settings. This patch migrates Cycles to use the new settings. Reviewed By: Brecht van Lommel Differential Revision: https://developer.blender.org/D9746
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-21UI: Move Properties path pin button next to the data-pathJulian Eisel
The pin button should be next to the data-path, which is what it belongs to. Note that this makes the placement of the search button in the header look quite off. That is because it's centered to the absolute header width, not the width of the main region (which is smaller because of the tab region on the left). Technically it's correct that way, visually it looks wrong. This will be addressed in a followup commit.
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-23Windows Release: Script creation of MSIX packageNathan Letwory
Script create_msix_package.py will download the ZIP file from the given URL. It will create the MSIX package with the version number and publisher ID given. Strongly recommended are the path to a valid PFX file, and the password to use that PFX file. These are needed for signing the resulting MSIX package. The signing step is optional though, but the resulting MSIX package cannot be installed outside of the Microsoft Store Example set VERSION=2.83.2.0 set URL=https://download.blender.org/release/Blender2.83/blender-2.83.2-windows64.zip set PUBID=CN=PUBIDHERE set PFX=X:\path\to\cert.pfx set PFXPW=pwhere python create_msix_package.py --version %VERSION% --url %URL% --publisher %PUBID% --pfx %PFX% --password %PFXPW% Requirements: * Python default from the Microsoft Store should do (3.8) * requests can be installed with `pip install requests` Note that for an LTS release that gets uploaded to its own LTS application release in the store you need to specify the `--lts` switch on the command-line to the script. Upon completion there will be a file with the name blender-2.83.2.0-windows64.msix. In case PFX file and its password were given on the command line MSIX package will also be signed for the Microsoft Store. Related Wiki page: https://wiki.blender.org/wiki/Process/Release_On_Windows_Store Reviewed By: jbakker Maniphest Tasks: T77348, T79356 Differential Revision: https://developer.blender.org/D8310
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-08-28Revert "GPU: Fix Segmentation Fault Freeing Failed Shader"Jeroen Bakker
This reverts commit c28432680971f54ebe95cc953606a3a4d3bc5c7c.
2020-08-28GPU: Fix Segmentation Fault Freeing Failed ShaderJeroen Bakker
The CPP Shader class does not initialize the interface attribute. What will crash when deleting the shader. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D8740
2020-08-25Fix buildbot failing due to non-existent git submodule hashBrecht Van Lommel
The wrong hash was committed in 95cc709612d3, presumably due to local changes to the submodule repository.
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-13Cleanup: GPU: Remove Batch vao cache resetClément Foucault
This is done at drawtime automatically.
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-07-02Cleanup: Remove useless duplicated linesValentin
I spotted a duplicate struct declaration, so I had to check for other duplicated as well There might be some other but i am not confident enough for deleting them this regex search for duplicate ^(.*;)$\n(\1)$ Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D8146
2020-06-22Refactoring: View2DScrollers memory allocationJeroen Bakker
View2DScrollers used the memory manager to allocate memory. This isn't a problem but in a upcoming change the scrollers will be drawn more often than it used to (See {D8066}). To limit the number of allocations and frees this patch will use the stack for allocation. Reviewed By: Campbell Barton Differential Revision: https://developer.blender.org/D8076
2020-06-15Fix Memory Leak introduced by Draw Manager ThreadingJeroen Bakker
The memory leak is noticeable when using custom bone shapes. When using custom bone shapes objects could be extracted twice. Where the second extraction can overwrite data created by the first extraction what causes the memory leak. Options that have been checked: 1. Use two task graphs phases. One for normal extraction (DST.task_graph) and the other one will handle extractions that require blocking threads. 2. Keep a list of all objects that needs extraction and only start extraction when all objects have been populated. The second would slow performance as the extraction only happens when all objects have been populated. In the future we might want to go for the second option when we have the capability to render multiple viewports with a single populate. As this design isn't clear this patch will implement the first option. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D7969
2020-06-15API docs: mathutils leaked markupTobias Heinke
Reviewed By: Blendify Differential Revision: https://developer.blender.org/D8021
2020-06-02Depsgraph: Remove unneeded `RNA_path_resolve`Jeroen Bakker
Found during research of {T77124}. In `build_driver_data` an identical RNA_path is resolved twice. In stead of resolving it twice this patch will construct the `property_exit_key` based on the resolution of `property_entry_key`. This change isn't noticeable for users. Just a cleanup as it isn't needed to do the same logic twice. Reviewed By: Sergey Sharybin Differential Revision: https://developer.blender.org/D7872
2020-06-02UI: rename Cycles point light Size to Radius, for consistency and clarityJohan Walles
Differential Revision: https://developer.blender.org/D7888
2020-05-19Fix T76375: UDIM Rectangular Tiled Image EEVEE freezes BlenderJeroen Bakker
When packing the image the height of the tile was checked to the width of the packing area. This resulted that the tile was ignored. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D7784
2020-05-14Fix T76150: Viewport Axes not toggling correctly when 'Floor' and 'Grid' are ↵Ankit
turned off Fix T76150 While comparing with the deleted file [1] in the commit [2], saw this little addition which most probably was added for optimisation. Removing it fixes the behaviour too. To test: - In Viewport Overlays > Guides, uncheck both Grid & Floor. - Try toggling all three axes individually. - Z just sticks. X cannot be shown without Y enabled. [1] https://developer.blender.org/diffusion/B/change/master/source/blender/draw/modes/object_mode.c;9516921c05bd9fee5c94942eb8e38f47ba7e4351 [2] {rB9516921c05bd9fee5c94942eb8e38f47ba7e4351} Reviewed By: fclem Maniphest Tasks: T76150 Differential Revision: https://developer.blender.org/D7568
2020-05-14Fix T76729: Particle Hair Get Occluded by OverlaysJeroen Bakker
When using an external render engine Blender will still draw an OpenGL depth buffer for the overlay engine to work correctly. Particle systems were ignored, what lead to occluded hair and other artifacts. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D7730
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