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
2020-02-19Cleanup: `make format`Dalai Felinto
2020-02-19Fix T73938: Cycles Vertex Color wrong if no layer is specifiedPhilipp Oeser
The node would render black in this case (but should use the 'active_render' layer choosen in the object data properties -- this is now in line to how this is handled for e.g. UVs) This introduces ATTR_STD_VERTEX_COLOR and uses this thoughout, if no particular layer is specified in the node. Maniphest Tasks: T73938 Differential Revision: https://developer.blender.org/D6887
2020-02-18Fix Cycles fluid motion blur not working after recent refactorBrecht Van Lommel
This also re-enables the fluid motion blur test.
2020-02-18Fix Embree failing on objects with a very high number of motion stepsBrecht Van Lommel
Set the limit to 129 to match Embree. This applies to all devices for consistent render results. Ref T73778
2020-02-18Fix T73954: Cycles viewport render from camera not respecting aspect ratioBrecht Van Lommel
2020-02-17Cycles: Vector Rotate Node using Axis and Angle methodCharlie Jolly
This node provides the ability to rotate a vector around a `center` point using either `Axis Angle` , `Single Axis` or `Euler` methods. Reviewed By: #cycles, brecht Differential Revision: https://developer.blender.org/D3789
2020-02-17Shading: add direction modes and phase offset to wave texture nodeBartosz Moniewski
* Direction mode X, Y and Z to align with axes rather than diagonal or spherical as previously. X is the new default, existing files will use diagonal or spherical for compatibility. * Phase offset to offset the wave along its direction, for purposes like animation and distortion. https://developer.blender.org/D6382
2020-02-17Fix many typos and other issues in UI messages.Bastien Montagne
2020-02-11Cycles: Add support for denoising in the viewportPatrick Mours
The OptiX denoiser can be a great help when rendering in the viewport, since it is really fast and needs few samples to produce convincing results. This patch therefore adds support for using any Cycles denoiser in the viewport also (but only the OptiX one is selectable because the NLM one is too slow to be usable currently). It also adds support for denoising on a different device than rendering (so one can e.g. render with the CPU but denoise with OptiX). Reviewed By: #cycles, brecht Differential Revision: https://developer.blender.org/D6554
2020-02-10Cleanup: spellingCampbell Barton
2020-02-08Cleanup: fix compiler warningBrecht Van Lommel
2020-02-07Cleanup: `make format`Dalai Felinto
Remember to run `make format` after cleanups/renames/...
2020-02-07Cleanup: split Cycles Hair and Mesh classes, with Geometry base classBrecht Van Lommel
2020-02-07Cleanup: remove unnecessary operations in Cycles curves exportBrecht Van Lommel
Clearing and computing bounds is already done elsewhere.
2020-02-07Cleanup: split Cycles export into smaller filesBrecht Van Lommel
2020-02-07Cleanup: export particle hair as a separate Cycles objectBrecht Van Lommel
2020-02-03Fix Cycles particle hair rendering broken after recent changesBrecht Van Lommel
This code was already wrong, we were just lucky that the previous coordinate was repeated due to using the same memory location.
2020-01-27Fix: Building without WITH_MOD_FLUIDRay Molenkamp
When MOD_FLUID was off and WITH_CYCLES was on there was a build error. Reviewed By: brecht Differential Revision: https://developer.blender.org/D6542
2020-01-23CMake: Refactor external dependencies handlingSergey Sharybin
This is a more correct fix to the issue Brecht was fixing in D6600. While the fix in that patch worked fine for linking it broke ASAN runtime under some circumstances. For example, `make full debug developer` would compile, but trying to start blender will cause assert failure in ASAN (related on check that ASAN is not running already). Top-level idea: leave it to CMake to keep track of dependency graph. The root of the issue comes to the fact that target like "blender" is configured to use a lot of static libraries coming from Blender sources and to use external static libraries. There is nothing which ensures order between blender's and external libraries. Only order of blender libraries is guaranteed. It was possible that due to a cycle or other circumstances some of blender libraries would have been passed to linker after libraries it uses, causing linker errors. For example, this order will likely fail: libbf_blenfont.a libfreetype6.a libbf_blenfont.a This change makes it so blender libraries are explicitly provided their dependencies to an external libraries, which allows CMake to ensure they are always linked against them. General rule here: if bf_foo depends on an external library it is to be provided to LIBS for bf_foo. For example, if bf_blenkernel depends on opensubdiv then LIBS in blenkernel's CMakeLists.txt is to include OPENSUBDIB_LIBRARIES. The change is made based on searching for used include folders such as OPENSUBDIV_INCLUDE_DIRS and adding corresponding libraries to LIBS ion that CMakeLists.txt. Transitive dependencies are not simplified by this approach, but I am not aware of any downside of this: CMake should be smart enough to simplify them on its side. And even if not, this shouldn't affect linking time. Benefit of not relying on transitive dependencies is that build system is more robust towards future changes. For example, if bf_intern_opensubiv is no longer depends on OPENSUBDIV_LIBRARIES and all such code is moved to bf_blenkernel this will not break linking. The not-so-trivial part is change to blender_add_lib (and its version in Cycles). The complexity is caused by libraries being provided as a single list argument which doesn't allow to use different release and debug libraries on Windows. The idea is: - Have every library prefixed as "optimized" or "debug" if separation is needed (non-prefixed libraries will be considered "generic"). - Loop through libraries passed to function and do simple parsing which will look for "optimized" and "debug" words and specify following library to corresponding category. This isn't something particularly great. Alternative would be to use target_link_libraries() directly, which sounds like more code but which is more explicit and allows to have more flexibility and control comparing to wrapper approach. Tested the following configurations on Linux, macOS and Windows: - make full debug developer - make full release developer - make lite debug developer - make lite release developer NOTE: Linux libraries needs to be compiled with D6641 applied, otherwise, depending on configuration, it's possible to run into duplicated zlib symbols error. Differential Revision: https://developer.blender.org/D6642
2020-01-08Revert recent change to the particles RNA, and only affect the UI.William Reynish
Even though the name change is more correct, we don't want to change the API at this time.
2020-01-08Cycles: Add OptiX AI denoiser supportPatrick Mours
This patch adds support for the OptiX denoiser as an alternative to the existing NLM denoiser in Cycles. It's re-using the same denoising architecture based on tiles and therefore implicitly also works with multiple GPUs. Reviewed By: sergey Differential Revision: https://developer.blender.org/D6395
2020-01-06Fix T70821: Hair Radius Is Actually Hair DiameterWilliam Reynish
Renamed hair tip and root properties to be called diameter rather than radius. The old name was incorrect.
2019-12-30Fix T68131: Cycles bake panel code typomano-wii
``` NameError: name 'col' is not defined ```
2019-12-26Cycles: Use OIIO UDIM tag instead of %04dLukas Stockner
2019-12-16Mantaflow [Part 6]: Updates in /blender/sourceSebastián Barschkis
A collection of smaller changes that are required in the /blender/source files. A lot of them are also due to variable renaming. Reviewed By: sergey Maniphest Tasks: T59995 Differential Revision: https://developer.blender.org/D3855
2019-12-16Cycles: Fix one-tile UDIM renderingLukas Stockner
The code checked for the presence of more than one tile before substituting the tile number into the filename, so if a one-tile UDIM was used (or all but one tile were culled), the substitution was skipped and as a result the file was not found. With this change, the code explicitly tracks whether substitution is required, avoiding this problem. This also fixes another problem: The Environment texture never does substitution since it doesn't support UDIMs, but before the syncing code still inserted the placeholder into the filename if the user selected a tiled background image.
2019-12-12Add support for tiled images and the UDIM naming schemeLukas Stockner
This patch contains the work that I did during my week at the Code Quest - adding support for tiled images to Blender. With this patch, images now contain a list of tiles. By default, this just contains one tile, but if the source type is set to Tiled, the user can add additional tiles. When acquiring an ImBuf, the tile to be loaded is specified in the ImageUser. Therefore, code that is not yet aware of tiles will just access the default tile as usual. The filenames of the additional tiles are derived from the original filename according to the UDIM naming scheme - the filename contains an index that is calculated as (1001 + 10*<y coordinate of the tile> + <x coordinate of the tile>), where the x coordinate never goes above 9. Internally, the various tiles are stored in a cache just like sequences. When acquired for the first time, the code will try to load the corresponding file from disk. Alternatively, a new operator can be used to initialize the tile similar to the New Image operator. The following features are supported so far: - Automatic detection and loading of all tiles when opening the first tile (1001) - Saving all tiles - Adding and removing tiles - Filling tiles with generated images - Drawing all tiles in the Image Editor - Viewing a tiled grid even if no image is selected - Rendering tiled images in Eevee - Rendering tiled images in Cycles (in SVM mode) - Automatically skipping loading of unused tiles in Cycles - 2D texture painting (also across tiles) - 3D texture painting (also across tiles, only limitation: individual faces can not cross tile borders) - Assigning custom labels to individual tiles (drawn in the Image Editor instead of the ID) - Different resolutions between tiles There still are some missing features that will be added later (see T72390): - Workbench engine support - Packing/Unpacking support - Baking support - Cycles OSL support - many other Blender features that rely on images Thanks to Brecht for the review and to all who tested the intermediate versions! Differential Revision: https://developer.blender.org/D3509
2019-12-10Cycles: support for custom shader AOVsLukas Stockner
Custom render passes are added in the Shader AOVs panel in the view layer settings, with a name and data type. In shader nodes, an AOV Output node is then used to output either a value or color to the pass. Arbitrary names can be used for these passes, as long as they don't conflict with built-in passes that are enabled. The AOV Output node can be used in both material and world shader nodes. Implemented by Lukas, with tweaks by Brecht. Differential Revision: https://developer.blender.org/D4837
2019-12-07Shader Nodes: Add Interpolation modes to Map Range nodeCharlie Jolly
Modes: Linear interpolation (default), stepped linear, smoothstep and smootherstep. This also includes an additional option for the **Clamp node** to switch between **Min Max** (default) and **Range** mode. This was needed to allow clamping when **To Max** is less than **To Min**. Reviewed By: JacquesLucke, brecht Differential Revision: https://developer.blender.org/D5827
2019-11-27Curve: CurveMapping Extend OptionJeroen Bakker
Extend options are currently stored per curve. This was not clearly communicated to the user and they expected this to be a setting per CurveMapping. This change will move the option from `Curve` to `CurveMapping`. In order to support this the API had to be changed. BPY: CurveMap.evaluate is also moved to CurveMapping.evaluate what breaks Python API. Cycles has been updated but other add-ons have not. After release of 2.81 we can merge this to master and adapt the add-ons. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D6169
2019-11-27Cycles: Add Random Per Island attribute.OmarSquircleArt
The Random Per Island attribute is a random float associated with each connected component (island) of the mesh. It is particularly useful when artists want to add variations to meshes composed of separate units. Like tree leaves created using particle systems, wood planks created using array modifiers, or abstract splines created using AN. Reviewed By: Sergey Sharybin, Jacques Lucke Differential Revision: https://developer.blender.org/D6154
2019-11-04Merge branch 'blender-v2.81-release'Patrick Mours
2019-11-04Fix T71123: OptiX error in Cycles viewport when adding HDRIPatrick Mours
Cycles did not update the "is_enabled" flag on lights when they were synchronized again, which caused all lights disabled by "LightManager::disable_ineffective_light" to be disabled indefinitely. As a result the OptiX kernels were not reloaded with correct features when a change to a light was made. This fixes that by updating the "is_enabled" flag during synchronization. Differential Revision: https://developer.blender.org/D6141
2019-11-04Correct naming of cryptomatte output sockets on the render layers nodeRobert Guetzkow
The cryptomatte sockets were incorrectly numbered using a step size of two. While the increment by two is necessary to get the correct number of render passes, they should be numbered consecutively matching the socket names of the cryptomatte node. Reviewed By: lukasstockner97 Differential Revision: https://developer.blender.org/D6185
2019-10-31Fix T71172: Cycles preferences.get_devices() not refreshing Optix devicesBrecht Van Lommel
2019-10-30Toggle 'PLAY' <> 'PAUSE' icons for pausing preview renderingPhilipp Oeser
mentioned in T70974 Maniphest Tasks: T70974 Differential Revision: https://developer.blender.org/D6119
2019-10-28CMake: add missing headers, use space before commentsCampbell Barton
2019-10-15Fix T70838: crash on cycles render after recent fixDalai Felinto
My bad for not figuring out how to run our unittests since I got back to Windows.
2019-10-15Fix T70670: Hidden collections are still rendered by Cycles in the ViewportDalai Felinto
Now local collections are fully working with cycles preview, while the collection visibility bug is fixed. Local collections were not working with cycles viewport even before the recent commit to allow users to show collections that are hidden in the view layer. It just got worse with said commit (0812949bbc3d). Differential Revision: https://developer.blender.org/D6034
2019-10-07Fix T70573: Crash on enter Cycles render preview with 'Scene world'Philipp Oeser
disabled and no world assigned to scene BlenderSync::sync_world still relied on a blender world (mixes the world viewport color with the studio light), for now just take black if no world is present. Maybe we should we use the theme color in the future here (seems eevee does this in that case) -- we'd have to pass down `b_userpref` from `BlenderSession::render` down to `sync_data > sync_shaders > sync_world` then afaics. Reviewed By: jbakker, brecht Maniphest Tasks: T70573 Differential Revision: https://developer.blender.org/D6005
2019-09-26Fix Cycles bake panel showing for other renderers, after recent changesBrecht Van Lommel
2019-09-20UI: Fix CapitalizationYevgeny Makarov
Differential Revision: https://developer.blender.org/D5716
2019-09-17Cycles: Viewport Rendering Memory ImprovementJeroen Bakker
Small memory reduction change by only storing the pixels of the combined pass when it is being shown in the viewport. Previously the combined pass was always calculated and present in the output buffer. The combined pass will still be calculated. It is a limitation in Blender that Cycles always had a combined pass. This patch will remove the limitation from the code base of Cycles. Blender still has the limitation, but will always request the combined renderpass when doing final rendering. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5784
2019-09-13Cycles: add Optix device backendPatrick Mours
This uses hardware-accelerated raytracing on NVIDIA RTX graphics cards. It is still currently experimental. Most features are supported, but a few are still missing like baking, branched path tracing and using CPU memory. https://wiki.blender.org/wiki/Reference/Release_Notes/2.81/Cycles#NVIDIA_RTX For building with Optix support, the Optix SDK must be installed. See here for build instructions: https://wiki.blender.org/wiki/Building_Blender/CUDA Differential Revision: https://developer.blender.org/D5363
2019-09-12Shading: Add Vertex Color node.OmarSquircleArt
This patch adds a new Vertex Color node. The node also returns the alpha of the vertex color layer as an output. Reviewers: brecht Differential Revision: https://developer.blender.org/D5767
2019-09-12GPencil: Fix missing Simplify panel in CyclesAntonio Vazquez
Differential Revision: https://developer.blender.org/D5776
2019-09-12Cycles: Fix Show Instanced Local View ObjectsJeroen Bakker
The local view check in the RNA didn't support instanced objects. Every object has a copy of the local_view_bits from the base. This patch changes the check to look at the local stored bits. This patch removes the check if the object is part of the view_layer. In the cases we are using it this check is not relevant. The `mesh_tissue` add-on also uses it, and is not effected by this change. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5773
2019-09-12Shading: Add More Features To The Voronoi Node.OmarSquircleArt
This patch allows the Voronoi node to operate in 1D, 2D, and 4D space. It also adds a Randomness input to control the randomness of the texture. Additionally, it adds three new modes of operation: - Smooth F1: A smooth version of F1 Voronoi with no discontinuities. - Distance To Edge: Returns the distance to the edges of the cells. - N-Sphere Radius: Returns the radius of the n-sphere inscribed in the cells. In other words, it is half the distance between the closest feature point and the feature point closest to it. And it removes the following three modes of operation: - F3. - F4. - Cracks. The Distance metric is now called Euclidean, and it computes the actual euclidean distance as opposed to the old method of computing the squared euclidean distance. This breaks backward compatibility in many ways, including the base case. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5743
2019-09-12Fix crash when doing cycles renderingJeroen Bakker
During F-12 Rendering the passed screen was Null, but decoded as a number. In stead of a Null a 0 will be send to cycles python wrapper.
2019-09-12Cycles: Initial Support For Local ViewJeroen Bakker
This diff will add support for local view to Cycles rendered preview mode. Currently the implementation shows same results as EEVEE does. This entails a difference with Blender 2.79, where lights were automatically added to the local view. {T69780} describes this should be solved before the next release. This patch also solves missing `owner_id` issues when using the RNA CPP Api from Cycles. Cycles didn't provide the `owner_id` making some functionality fail, what then was worked around in Blender. It also fixes an issue in `makesrna` where incorrect CPP code was generated when only `PARM_RNAPTR` was provided. An optional `view_layer` parameter is added to the `Object.local_view_get` method to reduce lookups. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5753