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/intern
AgeCommit message (Collapse)Author
2020-01-16Fix T73064: Embree does not like Bevel shaderStefan Werner
Embree's local intersection routine was not prepared for local intersections without per-object BVH. Now it should be able to handle any kind of local intersection, such as AO, bevel and SSS. Differential Revision: https://developer.blender.org/D6602
2020-01-16Fix T71952, T70125: Blender Linux crash on startup with some tabletsBrecht Van Lommel
It's not certain this fixes the issue since I can't reproduce the crash, but the code was wrong in any case. Thanks to Ray Molenkamp and Anonymous for finding this.
2020-01-16Fluid: Fix for mesh velocitiesSebastián Barschkis
Was using incorrect file format when reading mesh velocities from cache
2020-01-15Fix T73111: Bake data of fluid causes crash of BlenderSebastián Barschkis
2020-01-15Fluid: Moved grid reset loop for inner obstacle cells from blenkernel code ↵Sebastián Barschkis
into Mantaflow Having this loop in directly Manta is faster and potentially fixes issues T72783 and T72894.
2020-01-15Fix numaapi on PowerPC platformsSergey Sharybin
Seems that previous fix didn't work in all cases: Debian's build environment didn't fully detect endianess, possibly due to typo, possibly due to difference in various environments. Using define magic from a more battle-tested project seems a safe way to go. There are more changes than just PPC since the upstream commit contains full re-synchronization of all defines. This commit updates numaapi to a latest library version from upstream.
2020-01-15Cleanup: clang-formatCampbell Barton
2020-01-14Fix rendering motion blur scenes with OptiX failing with ↵Patrick Mours
CUDA_ERROR_INVALID_CONTEXT Commit baeb11826b9fe5525db6dd05ba5271949079fc1e switched memory allocation for the motion transform to use CUDA directly, instead of going through abstractions. But no CUDA context was set active before those were called, so the calls failed. This fixes that by binding a context beforehand.
2020-01-14Cycles: Crash fix for random walk SSS with Embree.Stefan Werner
2020-01-10Cycles: Fix viewport rendering when displaying as byte and not half floatPatrick Mours
Commit rB7e61e597253f3ca75f2fb86a57212ca750ffbbe8 broke viewport rendering when not displaying as halfs. This fixes that by actually using the `scale` parameter that is passed into `film_map` and also de-duplicates code around it. Differential Revision: https://developer.blender.org/D6557
2020-01-10Fix T72470: OptiX render fails with scene with many translucent planes on Linux.Patrick Mours
OptiX always uses record-all behavior for transparent shadow rays, but did not check whether the maximum number of hits exceeded the shadow hit stack. This fixes that.
2020-01-09Cycles: Fixed OpenCL kernel build.Stefan Werner
transform_direction() can't handle parameters in constant address space. Creating a local copy of the parameter satisfies the OpenCL compiler. CUDA and CPU compilers should be able to optimize this away I hope.
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-08Fix T66529: Cycles motion blur render errors with fast rotating objectsJosh Belanich
In transform_motion_decompose, successive quaternion pairs are checked to be aligned such that their interpolation is rotation through the shortest angle between them. If not, the first in the pair was flipped. This can cause problems for sequences of more than 2 quarternions, since flipping the first in a pair might misalign the previously pair, if unlucky. Instead, this change flips the second in the pair, which is safe when iterating forwards. Differential Revision: https://developer.blender.org/D6537
2020-01-08Fix T72954: Cycles gradient texture not clamped when using OSLBrecht Van Lommel
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-26Cleanup: clang-formatLukas Stockner
2019-12-26Cycles: Use OIIO UDIM tag instead of %04dLukas Stockner
2019-12-26Cycles: Support UDIMs with OSL shadingLukas Stockner
2019-12-23Fix T72382: Arrow keys fail in search menuJean First
2019-12-21Fix: NaN error in smoothminf functionCharlie Jolly
2019-12-21Fluid: Ensure GIL in conversion functionSebastián Barschkis
2019-12-20Fix T72445: Cycles crash with Displacement maps in OSLLukas Stockner
The UDIM commit accidentally removed a check that skipped Image updates if the image was managed by OSL.
2019-12-20Fix T72471: Cycles AOV support breaks passes with divide_typeLukas Stockner
The problem is described in a comment in the change. Short version: If a pass was used as a divide_type but also requested explicitly (e.g. diffuse color), it was added to the passes list twice because the names of the two requests didn't match. Then, when searching for the pass to divide by, the wrong one (not the one that the kernel was writing to) was picked.
2019-12-17Manta: Fix using path as an input and outputSergey Sharybin
It is not guaranteed that the function will give correct result in such an overlapping inputs. @sebbas please verify this.
2019-12-17Cleanup: renaming guiding -> guideCampbell Barton
The term guide makes sense on it's own in this context.
2019-12-17Cleanup: remove contributors, license begin/end & doxy file argumentCampbell Barton
This had already been removed for all source files, recent patches re-introduced them.
2019-12-16Mantaflow [Part 5]: Update other /intern packagesSebastián Barschkis
Cycles needs some smaller updates so that the up-res smoke wavelet noise and the liquid mesh speed vector export work correctly. Reviewed By: mont29 Maniphest Tasks: T59995 Differential Revision: https://developer.blender.org/D3854
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-16Mantaflow [Part 2]: Added fluid wrapper filesSebastián Barschkis
Files from /intern/mantaflow handle the communication between core Blender code and Mantaflow itself. It's the bridge to communicate with Mantas Python functions. Code from /intern/mantaflow/intern/strings/ is pure Manta code and would likely need less attention in the review. Reviewed By: sergey Maniphest Tasks: T59995 Differential Revision: https://developer.blender.org/D3851
2019-12-16Fix T72474: UDIM breaks box mapping in CyclesLukas Stockner
The ImageTextureNode incorrectly used the tile slot encoding for box- mapped textures as well. Since box-mapping always generates UVs that lie in the 1001 tile, there's no need to support tiles here.
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-13Cycles: Fix compilation of the Render Graph testLukas Stockner
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-12Cycles: perform clamping per light contribution instead of whole pathLukas Stockner
With upcoming light group passes, for them to sum up correctly to the combined pass the clamping must be more fine grained. This also has the advantage that if one light is particularly noisy, it does not diminish the contribution from other lights which do not need as much clamping. Clamp values on existing scenes will need to be tweaked to get similar results, there is no automatic conversion possible which would give the same results as before. Implemented by Lukas, with tweaks by Brecht. Part of D4837
2019-12-11Cycles/OpenCL: Remove NULL PTR WorkaroundJeroen Bakker
In the current OpenCL implementation we have a work-around for platforms that didn't support NULL pointers. We used to replace all NULLs and empty arrays with a pointer to a single byte on the OpenCL Device. During investigation of {T65924} it was asked to remove this work-around for testing. This change improves the render times. SCENE | BEFORE | AFTER --------------------+--------+------- bmw27 | 108 | 89 barbershop_interior | 867 | 673 classroom | 270 | 173 fishy_cat | 244 | 196 koro | 249 | 207 pavillon_barcelona | 582 | 414 Note that this change does not fix T65924 it just improves the rendering performance for OpenCL. We haven't tested this patch on all platforms so we should keep an eye out on the tracker. Reviewed By: sergey Differential Revision: https://developer.blender.org/D6391
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-10GHOST: add support for application/menu keyHarley Acheson
Support the application key on Linux & Windows.
2019-12-09Cycles: Add OptiX acceleration structure compactionPatrick Mours
This adds compaction support for OptiX acceleration structures, which reduces the device memory footprint in a post step after building. Depending on the scene this can reduce the amount of used device memory quite a bit and even improve performance (smaller acceleration structure improves cache usage). It's only enabled for background renders to make acceleration structure builds fast in viewport. Also fixes a bug in the memory management for OptiX acceleration structures: These were held in a dynamic vector of 'device_memory' instances and used the mem_alloc/mem_free functions. However, those keep track of memory instances in the 'cuda_mem_map' via pointers to 'device_memory' (which works fine everywhere else since those are never copied/moved). But in the case of the vector, it may decide to reallocate at some point, which invalidates those pointers and would result in some nasty accesses to invalid memory. So it is not actually safe to move a 'device_memory' object and therefore this removes the move operator overloads again. Reviewed By: brecht Differential Revision: https://developer.blender.org/D6369
2019-12-08Fix T71878: Cycles crash with adaptive subdivision and empty meshBrecht Van Lommel
2019-12-08Fix T72282: Cycles OpenCL error after recent math node changesBrecht Van Lommel
2019-12-07Shaders: noise and wave distortion now work uniformly instead of diagonallyBartosz Moniewski
Previously Noise and Wave texture nodes would use noise functions within a [0,1] range for distortion effects. We either add or subtract noise from coordinates, never do both at same time. This led to the texture drastically shifting on the diagonal axis of a plane / cube. This behavior makes the Distortion input hard to control or animate. Capabilities of driving it with other texture are also limited, diagonal shifting is very apparent. This was fixed by offsetting the noise function to a signed range and making it zero-centered. This way noise is uniformly added and subtracted from coordinates. Texture pattern sticks to main coordinates which makes it way easier to control. This change is not strictly backwards compatible, there is versioning to ensure the scale of the distortion remains similar, but the particular pattern can be a little different. Differential Revision: https://developer.blender.org/D6177
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-12-07Maths Node: Additional functionsCharlie Jolly
When creating shaders and using maths functions it is expected that Blender should match functions in other DCC applications, game engines and shading languages such as GLSL and OSL. This patch adds missing functions to the Blender maths node. Ideally, it would be nice to have these functions available to vectors too but that is not part of this patch. This patch adds the following functions trunc, snap, wrap, compare, pingpong, sign, radians, degrees, cosh, sinh, tanh, exp, smoothmin and inversesqrt. Sign function is based on GLSL and OSL functions and returns zero when x == 0. Differential Revision: https://developer.blender.org/D5957
2019-12-06Fix T71342: macOS does not always use the discrete GPU for BlenderBrecht Van Lommel
This reverts commit 3d9cc4d3f174d01c96d65a4e9cd751699bcb8744. The commit message and intent behind the commit is unclear. We generally want the discrete GPU to be used for best performance, not the integrated GPU.
2019-12-06Cleanup: clang-formatCampbell Barton
2019-12-06Fix T72118: Enable Windows 10 Non-client DPI ScalingHarley Acheson
Enables Windows 10 feature that automatically adjusts non-client area (title bar) on high-DPI displays. Differential Revision: https://developer.blender.org/D6370 Reviewed by Brecht Van Lommel
2019-12-05Cleanup: Windows Manifest usage.Ray Molenkamp
We had a manifest file, but it was seemingly not used, some settings were done using linker pragmas, some of them visual studio would set by default for us, others where not set at all. This patch changes: - Single manifest file where we can maintain all settings in a single location, removal of any linker pragmas related to the manifest. - Compatibly settings for win vista - win10, without this any call to any of the GetVersion and related functions (GetVersionEx, VerifyVersionInfo, IsWindowsXxxx) will by default say we are on vista and OS specific optimizations in external libraries may be missed. -Rather than having it in the .RC file in an #ifdef which may or may not trigger depending on the build tool used, we tell cmake to treat it as a source file and it will do the right thing for both the ninja and visual studio generators. Differential Revision: https://developer.blender.org/D6136 Reviewers: brecht