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
2018-09-06Fix T56704: black / NaN values in Cycles normal pass.Brecht Van Lommel
2018-08-31Cycles: Cleanup, use explicit comparison with NULLSergey Sharybin
2018-08-31Fix T56626: Cycles ambient occlusion only local : crashSergey Sharybin
Was caused by missing NULL pointer check in BVH8.
2018-08-29Fix Cycles CUDA build after recent changes.Brecht Van Lommel
2018-08-29Cycles: Add BVH8 and packeted triangle intersectionSergey Sharybin
This is an initial implementation of BVH8 optimization structure and packated triangle intersection. The aim is to get faster ray to scene intersection checks. Scene BVH4 BVH8 barbershop_interior 10:24.94 10:10.74 bmw27 02:41.25 02:38.83 classroom 08:16.49 07:56.15 fishy_cat 04:24.56 04:17.29 koro 06:03.06 06:01.45 pavillon_barcelona 09:21.26 09:02.98 victor 23:39.65 22:53.71 As memory goes, peak usage raises by about 4.7% in a complex scenes. Note that BVH8 is disabled when using OSL, this is because OSL kernel does not get per-microarchitecture optimizations and hence always considers BVH3 is used. Original BVH8 patch from Anton Gavrikov. Batched triangles intersection from Victoria Zhislina. Extra work and tests and fixes from Maxym Dmytrychenko.
2018-08-25Cycles: Add Denoising Clean to the debugging denoising passesLukas Stockner
2018-08-24Cycles: Cleanup, styleSergey Sharybin
I wouldn't mind changing style to have space after keyword, but there was no official code style change proposed.
2018-08-24Cycles: Fix wrong looking voronoi of second 2nd closestSergey Sharybin
Was only happening for release builds made with GCC-8. Probably some optimization strtegy was confused by uninitialized variable.
2018-08-23Cycles: Add option for building CUDA kernels sequentiallyLukas Stockner
Building the CUDA kernels takes quite a bit of memory, and when building all of them the combined usage can be too much on some systems (especially VMs). Therefore, this patch adds an option to force the build system to build them sequentially by making each build step depend on the previous kernel. Reviewers: brecht, sergey Differential Revision: https://developer.blender.org/D3623
2018-08-20Fix Cycles AO pass not working for shadow catcher objects.Brecht Van Lommel
2018-08-05Fix Cycles crash rendering mix of instanced and non-instanced volumes.Brecht Van Lommel
2018-07-30Cycles: Fixed OpenCL build. sqr(float4) is available on CUDA and CPU, but ↵Stefan Werner
not on OpenCL.
2018-07-28Cycles: Save a few instructions in area light samplingLukas Stockner
Just basic algebra - because all vectors have the same z coordinate, a lot of terms end up cancelling out. Not exactly a massive improvement, but it's measurable with Branched PT and a high sample count on the lamp. Reviewers: brecht, sergey Reviewed By: brecht Subscribers: swerner Differential Revision: https://developer.blender.org/D3540
2018-07-26Cycles: Add reflection fix to Bump and Normal Map nodesLukas Stockner
While changing the shading normal is a great way to add additional detail to a model, there are some problems with it. One of them is that at grazing angles and/or strong changes to the normal, the reflected ray can end up pointing into the actual geometry, which results in a black spot. This patch helps avoid this by automatically reducing the strength of the bump/normal map if the reflected direction would end up too shallow or inside the geometry. Differential Revision: https://developer.blender.org/D2574
2018-07-20Fix T54455, T56053, T55564: Cycles OpenCL build error after recent changes.Brecht Van Lommel
2018-07-18Cycles: increase volume stack to support 32 overlapping volumes.Brecht Van Lommel
This increases stack memory usage some, and ideally we'd support a dynamic size. But this is quite difficult on the GPU and hopefully 32 is enough even for very complex cases.
2018-07-18Cycles: add Principled Hair BSDF.L. E. Segovia
This is a physically-based, easy-to-use shader for rendering hair and fur, with controls for melanin, roughness and randomization. Based on the paper "A Practical and Controllable Hair and Fur Model for Production Path Tracing". Implemented by Leonardo E. Segovia and Lukas Stockner, part of Google Summer of Code 2018.
2018-07-15Cycles: add voronoi features and distance settings from Blender.charlie
Features to get the 2nd, 3rd, 4th closest point instead of the closest, and various distance metrics. No viewport/Eevee support yet. Patch by Michel Anders, Charlie Jolly and Brecht Van Lommel. Differential Revision: https://developer.blender.org/D3503
2018-07-15Cleanup: use float3 SSE instead of ssef for voronoi texture.Brecht Van Lommel
2018-07-13Nodes: add sqrt, ceil, floor and fract to math nodes.Charlie Jolly
This works for Cycles, Eevee, texture nodes and compositing. It helps to reduce the number of math nodes required in various node setups. Differential Revision: https://developer.blender.org/D3537
2018-07-06Cycles: Enabled half precision textures for OpenCL devices that support the ↵Stefan Werner
cl_khr_fp16 extension.
2018-07-06Cycles: Fixed OpenCL kernel build, it threw a compiler error.Stefan Werner
2018-07-06Cleanup: strip trailing space for cyclesCampbell Barton
2018-07-05Cycles: Adding native support for UINT16 textures.Stefan Werner
Textures in 16 bit integer format are sometimes used for displacement, bump and normal maps and can be exported by tools like Substance Painter. Without this patch, Cycles would promote those textures to single precision floating point, causing them to take up twice as much memory as needed. Reviewers: #cycles, brecht, sergey Reviewed By: #cycles, brecht, sergey Subscribers: sergey, dingto, #cycles Tags: #cycles Differential Revision: https://developer.blender.org/D3523
2018-07-04Cycles Denoising: Pass tile buffers to every OpenCL kernel to conform to ↵Lukas Stockner
standard and get rid of set_tile_info
2018-07-04Cycles Denoising: Cleanup: Rename tiles to tile_infoLukas Stockner
2018-06-29Cycles: change AO node default to 16 samples and only local off.Brecht Van Lommel
2018-06-29Cleanup: trailing newlinesCampbell Barton
2018-06-26Revert "Turned off clang warnings in third party includes."Stefan Werner
This reverts commit d53093953f8f3b58600cb19020ecbe0b5f254b52.
2018-06-26Turned off clang warnings in third party includes.Stefan Werner
The latest clang compiler (at least the one in Xcode 9.4.1) warns about the register keyword and macro expansions using defined(). Since these warnings come from third party code, we can't address them directly in Blender. Silencing them via #pramgas will at least keep the warnings during a build down to the ones that are relevant to Blender code.
2018-06-24Cycles: change AO node color default to 1.0.Brecht Van Lommel
2018-06-21Fix Cycles CUDA render errors with CUDA 9.2.Brecht Van Lommel
Work around what might be a compiler bug.
2018-06-21Fix T55564: Cycles OpenCL build error on some scenes.Brecht Van Lommel
2018-06-19Cycles: Fixed crash when the camera was inside 16 volumes or more. It still ↵Stefan Werner
won't render those volumes correctly, but at least the crash is addressed.
2018-06-19Fix T55528: Cycles AO node should default to 1 if radius is 0.Brecht Van Lommel
2018-06-17Cleanup: trailing space in CMake filesCampbell Barton
2018-06-15Cycles: change Ambient Occlusion shader to output colors.Lukas Stockner
This means the shader can now be used for procedural texturing. New settings on the node are Samples, Inside, Local Only and Distance. Original patch by Lukas with further changes by Brecht. Differential Revision: https://developer.blender.org/D3479
2018-06-15Fix more Cycles CUDA errors after recent changes.Brecht Van Lommel
2018-06-15Fix Cycles CUDA error after recent changes.Brecht Van Lommel
2018-06-14Cycles: Query XYZ to/from Scene Linear conversion from OCIO instead of ↵Lukas Stockner
assuming sRGB I've limited it to just the RGB<->XYZ stuff for now, correct image handling is the next step. Reviewers: brecht, sergey Differential Revision: https://developer.blender.org/D3478
2018-06-14Cycles: Automatically detect HDRI resolution by default and use non-square ↵Lukas Stockner
sampling map The automatic mode checks all Enviroment Texture nodes and picks the largest image's resolution. If there are no Enviroment Textures, it just uses the old default. Also, the sampling map now isn't limited to square shapes. The automatic detection uses the exact image size, the manual UI option now halves the value to get the height. A default aspect ratio of 2:1 makes sense since this is what most HDRIs use. Reviewers: brecht, sergey Differential Revision: https://developer.blender.org/D3477
2018-06-11Cycles: Cleanup, silence strict compiler warningSergey Sharybin
There is one legit place in the code where memcpy was used as an optimization trick. Was needed for older version of GCC, but now it should be re-evaluated and checked if it still helps to have that trick. In other places it's somewhat lazy programming to zero out all object members. That is absolutely unsafe, at the moment when less trivial class is used as a member in that object things will break. Other cases were using memcpy into an object which comes from an external library. We don't control that object, and we can not guarantee it will always be safe for such memory tricks and debugging bugs caused by such low level access is far fun. Ideally we need to use more proper C++, but needs to be done with big care, including benchmarks of each change, For now do annoying but simple cast to void*.
2018-06-07Revert "Cycles: Cleanup: Don't use return on function returning void"Sergey Sharybin
Not sure why exactly it is called a cleanup, the code was much more clear and robust against possible missing return statements which are MANDATORY. Missing return statement will: - Cause two different BVH traversals to be run. Not is happening currently, but if more BVH layouts are added, it will become a problem. - It is already causing assert() statements to fail, since functions are no longer returning when they are supposed to. If there is any measurable reason to keep this change, let me know. Otherwise just stick to reliable/tested/robust code. This reverts commit ba65f7093b39a8e5f1fb869cbc347fb810a05ab9.
2018-06-04Cycles: Cleanup: Don't use return on function returning voidLukas Stockner
2018-05-31Fix OpenCL compilation error - BPT without SSS.Hristo Gueorguiev
2018-05-28Windows: Add support for building with clang.Ray Molenkamp
This commit contains the minimum to make clang build/work with blender, asan and ninja build support is forthcoming Things to note: 1) Builds and runs, and is able to pass all tests (except for the freestyle_stroke_material.blend test which was broken at that time for all platforms by the looks of it) 2) It's slightly faster than msvc when using cycles. (time in seconds, on an i7-3370) victor_cpu msvc:3099.51 clang:2796.43 pavillon_barcelona_cpu msvc:1872.05 clang:1827.72 koro_cpu msvc:1097.58 clang:1006.51 fishy_cat_cpu msvc:815.37 clang:722.2 classroom_cpu msvc:1705.39 clang:1575.43 bmw27_cpu msvc:552.38 clang:561.53 barbershop_interior_cpu msvc:2134.93 clang:1922.33 3) clang on windows uses a drop in replacement for the Microsoft cl.exe (takes some of the Microsoft parameters, but not all, and takes some of the clang parameters but not all) and uses ms headers + libraries + linker, so you still need visual studio installed and will use our existing vc14 svn libs. 4) X64 only currently, X86 builds but crashes on startup. 5) Tested with llvm/clang 6.0.0 6) Requires visual studio integration, available at https://github.com/LazyDodo/llvm-vs2017-integration 7) The Microsoft compiler spawns a few copies of cl in parallel to get faster build times, clang doesn't, so the build time is 3-4x slower than with msvc. 8) No openmp support yet. Have not looked at this much, the binary distribution of clang doesn't seem to include it on windows. 9) No ASAN support yet, some of the sanitizers can be made to work, but it was decided to leave support out of this commit. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D3304
2018-05-27Cycles: Add Support for IES files as textures for light strengthLukas Stockner
This patch adds support for IES files, a file format that is commonly used to store the directional intensity distribution of light sources. The new IES node is supposed to be plugged into the Strength input of the Emission node of the lamp. Since people generating IES files do not really seem to care about the standard, the parser is flexible enough to accept all test files I have tried. Some common weirdnesses are distributing values over multiple lines that should go into one line, using commas instead of spaces as delimiters and adding various useless stuff at the end of the file. The user interface of the node is similar to the script node, the user can either select an internal Text or load a file. Internally, IES files are handled similar to Image textures: They are stored in slots by the LightManager and each unique IES is assigned to one slot. The local coordinate system of the lamp is used, so that the direction of the light can be changed. For UI reasons, it's usually best to add an area light, rotate it and then change its type, since especially the point light does not immediately show its local coordinate system in the viewport. Reviewers: #cycles, dingto, sergey, brecht Reviewed By: #cycles, dingto, brecht Subscribers: OgDEV, crazyrobinhood, secundar, cardboard, pisuke, intrah, swerner, micah_denn, harvester, gottfried, disnel, campbellbarton, duarteframos, Lapineige, brecht, juicyfruit, dingto, marek, rickyblender, bliblubli, lockal, sergey Differential Revision: https://developer.blender.org/D1543
2018-05-24Cycles: Cleanup: Remove duplicated atan2f definition for OpenCLLukas Stockner
Turns out that atan2f was already defined for OpenCL.
2018-05-24Cycles Denoising: Don't use atomics in the accumulation kernel on CPUsLukas Stockner
The GPU kernel needs to use atomics for accumulation since all offsets are processed in parallel, but on CPUs that's not the case, so we can disable them there for a considerable speedup.
2018-05-24Cycles/Compositor: Add arctan2 operation to the Math nodeLukas Stockner
The Math node currently has the normal atan() function, but for actual angles this is fairly useless without additional nodes to handle the signs. Since the node has two inputs anyways, it only makes sense to add an arctan2 option. Reviewers: sergey, brecht Differential Revision: https://developer.blender.org/D3430