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
2019-09-05Fix: Compile error due to undefined isinf function.OmarSquircleArt
Some implementations of the standard c++ library doesn't define its functions in the global namespace. So the `isinf` function might fail in some systems. To fix this, we use the `ensure_finite` function instead. Reviewers: brecht Differential Revision: https://developer.blender.org/D5687
2019-09-05Cleanup: use backslash for doxygen commandsCampbell Barton
2019-09-05Shading: Rewrite Mapping node with dynamic inputs.OmarSquircleArt
This patch rewrites the Mapping node to support dynamic inputs. The Max and Min options have been removed. They can be added as Min and Max Vector Math nodes manually. Texture nodes still use the old matrix-based mapping. A new SVM node `NODE_TEXTURE_MAPPING` has been added to preserve this functionality. Similarly, in GLSL, a `mapping_mat4` function has been added. Reviewers: brecht, JacquesLucke
2019-09-04Shading: Extend Noise node to other dimenstions.OmarSquircleArt
This patch extends perlin noise to operate in 1D, 2D, 3D, and 4D space. The noise code has also been refactored to be more readable. The Color output and distortion patterns changed, so this patch breaks backward compatibility. This is due to the fact that we now use random offsets as noise seeds, as opposed to swizzling and constants offsets. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5560
2019-09-04Shading Modes: Material and Render PreviewJeroen Bakker
This change implements the basics as described in {T68312} for the shading modes. * LookDev shading mode is renamed to Material Preview. It always uses Eevee as renderer, and is intended to provide a fast material preview suitable for texture painting, and texture and material setup. * Rendered shading gains "Use Scene Lights" and "Use Scene World" options similar to current Material Preview. These will be enabled by default. When Use Scene World is turned off, HDRIs will be used for lighting instead. These options are available for EEVEE and Cycles. * Renderers will be able to customize the shading settings panel and add additional settings. Reviewed By: brecht, fclem Differential Revision: https://developer.blender.org/D5612
2019-08-30Cleanup: spellingCampbell Barton
2019-08-30Cycles: OpenCL Separate Compilation Debug FlagJeroen Bakker
OpenCL Parallel compilation only works inside Blender. When using cycles in a different setup (standaline or other software) it failed compiling kernels as they don't have the appropriate Python API and command line arguments. This change introduces a `running_inside_blender` debug flag, that triggers out of process compilation of the kernels. Compilation still happens in subthread that enabled the preview kernels and compilation of the kernels during BVH building Reviewed By: brecht Differential Revision: https://developer.blender.org/D5439
2019-08-30Cleanup: clang-format, spellingCampbell Barton
2019-08-27Cycles: Stitching of subdivided and displaced meshesMai Lavelle
This patch stitches the vertices along patch edges so that cracks can no longer form when applying subdivision or displacement a mesh. Subpatches are now formed in a way that ensures vertex indices along subpatch edges are equal for adjacent subpatches. A mapping of vertices along patch edges is built to preform stitching. Overall performance is roughly the same, some gains were made in splitting, but some was lost in stitching. This fixes: - T49049 (cracks between patches from material and uv seams) - T49048 (discontinuous normals with true displacement) Reviewers: sergey, brecht Differential Revision: https://developer.blender.org/D3692
2019-08-27Fix undefined symbols for ccl::Node with some compilers and build optionsAlex Fuller
Differential Revision: https://developer.blender.org/D5590
2019-08-27Cycles/Windows: Fix over estimation of System RAM.Ray Molenkamp
`system_physical_ram` reported 1024x more System RAM than what was actually available.
2019-08-26Fix T69185: Cycles kernel OpenCL compile error after recent changesBrecht Van Lommel
2019-08-26Cycles: support move semantics for device_memoryPatrick Mours
Ref D5363
2019-08-26Cycles: refactor of BVH building to prepare for OptixPatrick Mours
Ref D5363
2019-08-26Fix Cycles session being (re)created twicePatrick Mours
In most cases this only makes a small startup time difference, but there is no reason to do this. Ref D5363
2019-08-26Cleanup: fix compiler warningsBrecht Van Lommel
2019-08-26Cleanup: avoid unnecessary primitive type lookup and variable initializationPatrick Mours
Ref D5363
2019-08-26Cycles: optimize Sobol loopPatrick Mours
Ref D5363
2019-08-26Cleanup: add zero bit counting functionsBrecht Van Lommel
2019-08-26Cycles: code to optionally zero initialize some structs in the kernelBrecht Van Lommel
This will be used by Optix to help the compiler figure out scoping. It is not used by other devices currently, but worth testing if it helps there too. Ref D5363
2019-08-26GPencil: Invert Paste operator and make Paste to Active defaultAntonio Vazquez
Before there were two options: Paste to original layer called "Paste" and Paste to active layer called "Paste & Merge" Now, by default the paste is in active layer and the "Paste & Merge" has been renamed "Paste". For old "Paste", now is called "Paste by Layer" and it's not the default value anymore. Note: Minor edits to add icons not present in Differential revision. Differential Revision: https://developer.blender.org/D5591
2019-08-26Cycles: Fix Architecture logging on x64.Lazydodo
x64 builds with WITH_CYCLES_OPTIMIZED_KERNEL_SSE2 not defined since SSE2 is the lower bar for x64 cpus. Turning the architecture logging related if into the last if in the architecture detection chain, which will never execute unless you turn off all kernels in de debug flags. Reviewers: brecht Differential Revision: https://developer.blender.org/D5579
2019-08-26Cleanup: simplify perlin noise function definitionPatrick Mours
Ref D5363
2019-08-26Cleanup: use saturate3() for float3 clampingPatrick Mours
Ref D5363
2019-08-26Cycles: GPU code generation optimizations for direct lightingPatrick Mours
Use a single loop to iterate over all lights, reducing divergence and amount of code to generate. Moving ray intersection calls out of conditionals will also help the Optix compiler. Ref D5363
2019-08-26Cycles: inline more functions on the GPUPatrick Mours
This makes little difference for CUDA and OpenCL, but will be helpful for Optix.
2019-08-26Cycles: change svm node decoding for more efficient code generation on GPUPatrick Mours
These functions no longer accept NULL. They were renamed for clarity and to avoid hidden merge issues. Ref D5363
2019-08-26Cycles: remove workaround to pass ray by valuePatrick Mours
CUDA is working correct without it now, and it's more efficient not to do this. Ref D5363
2019-08-26Cycles: tweaks for better GPU code generationPatrick Mours
Uninitialized variables are harder to handle for the compiler. Ref D5363
2019-08-26Cycles: fixes for building kernel without certain featuresPatrick Mours
Ref D5363
2019-08-26Cleanup: fix use of wrong constantPatrick Mours
Ref D5363
2019-08-26Cleanup: fix compiler warningBrecht Van Lommel
2019-08-23RNA: Cleanup PointerRNA structJacques Lucke
The old layout of `PointerRNA` was confusing for historic reasons: ``` typedef struct PointerRNA { struct { void *data; } id; struct StructRNA *type; void *data; } PointerRNA; ``` This patch updates it to: ``` typedef struct PointerRNA { struct ID *owner_id; struct StructRNA *type; void *data; } PointerRNA; ``` Throughout the code base `id.data` was replaced with `owner_id`. Furthermore, many explicit pointer type casts were added which were implicit before. Some type casts to `ID *` were removed. Reviewers: brecht, campbellbarton Differential Revision: https://developer.blender.org/D5558
2019-08-22Shading: Add object color to Object Info node.OmarSquircleArt
The object color property is added as an additional output in the Object Info node. Reviewers: brecht Differential Revision: https://developer.blender.org/D5554
2019-08-22Fix T69044: OpenCL fail due to bad fract function.OmarSquircleArt
The fract function in OpenCL does more than just return the fraction. It also writes the floor to the second argument. Which wasn't put in consideration. Instead, we use a simple `a - floor(a)` like the Math node. Reviewers: brecht Differential Revision: https://developer.blender.org/D5553
2019-08-21Shading: Add Volume Info node.OmarSquircleArt
The Volume Info node provides the Color, Desnity, Flame, and Temperature of smoke domains. Reviewers: brecht Differential Revision: https://developer.blender.org/D5551
2019-08-21Shading: Add White Noise node.OmarSquircleArt
The White Noise node hashes the input and returns a random number in the range [0, 1]. The input can be a 1D, 2D, 3D, or a 4D vector. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5550
2019-08-21Shading: Add more operators to Vector Math node.OmarSquircleArt
Add Multiply, Divide, Project, Reflect, Distance, Length, Scale, Snap, Floor, Ceil, Modulo, Fraction, Absolute, Minimum, and Maximum operators to the Vector Math node. The Value output has been removed from operators whose output is a vector, and the other way around. All of those removals has been handled properly in versioning code. The patch doesn't include tests for the new operators. Tests will be added in a later patch. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5523
2019-08-21Cleanup: Fix build error with MSVCLazydodo
Previously eigens internal include order somehow implicitly provided M_PI and friends. The recent eigen version bump broke this implicit behaviour, better to be explicit that we need the math defines for MSVC.
2019-08-20Fix use of uninitialized variable in Cycles math nodeBrecht Van Lommel
2019-08-20Cycles Tests: Fix Math tests when use_clamp is true.OmarSquircleArt
The clamp option is implemented using graph expansion, where a Clamp node named "clamp" is added and connected to the output. So the final result is actually from the node "clamp". Reviewers: brecht Differential Revision: https://developer.blender.org/D5540
2019-08-20Cleanup: clang-format, sorted listsCampbell Barton
2019-08-20Memory: Fix guarded aligned malloc with small alignmentJacques Lucke
When calling `MEM_guarded_mallocN_aligned` with an alignment of 4, a pointer that was returned that is 4 byte but not 8 byte aligned. When freeing this pointer, `MEM_guarded_freeN` thinks that it is an illegal pointer, because it asserts that `((intptr_t)memh) & 0x7 == 0`. The fix is to always use at least 8 byte alignment. Reviewers: brecht Differential Revision: https://developer.blender.org/D5529
2019-08-18Shading: Refactor Math node and use dynamic inputs.OmarSquircleArt
- Implement dynamic inputs. The second input is now unavailable in single operand math operators. - Reimplemenet the clamp option using graph expansion for Cycles. - Clean up code and unify naming between Blender and Cycles. - Remove unused code. Reviewers: brecht Differential Revision: https://developer.blender.org/D5481
2019-08-17Cleanup: spellingCampbell Barton
2019-08-16Cleanup: spellingCampbell Barton
2019-08-16Fix T55054: possible use of unsupported instructions in Cycles texture codeLazydodo
Differential Revision: https://developer.blender.org/D5326
2019-08-14OpenVDB: mesh/level set conversion, filters and CSG operationsPablo Dobarro
This code is needed to implement the Voxel Remesher as well as other features like a better remesh modifier with filters and CSG operations. Done by Martin Felke and Pablo Dobarro Reviewed By: brecht Differential Revision: https://developer.blender.org/D5364
2019-08-14Cleanup: clang-format, sort structs & cmake filesCampbell Barton
2019-08-14Cleanup: don't unnecessarily use ustring in IES file parsingBrecht Van Lommel