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
2019-11-08Cleanup: clang-formatCampbell Barton
2019-11-06Fix: Forward compatibility issue in shader nodesCharlie Jolly
Raised in https://developer.blender.org/rBe5618725fd1e Reviewed By: brecht Differential Revision: https://developer.blender.org/D6102
2019-11-05Fix compositor Denoise node showing Normal value buttonsBrecht Van Lommel
Any values typed in here manually would not be used, it needs an image.
2019-10-10Fix T70644 EEVEE: Bump issue with geometry node normal coordinateClément Foucault
Was caused by non-normalized coordinates (normals). Note this is not 100% correct as the dFdx functions can be the same for packs of 4 pixels and the derivated value can only be correct for one pixels. This is because smoothed normals are a non-linear function (because of the normalization). The correct fix would be to do the dFdx offset BEFORE any normalization.
2019-10-10Fix T70614 EEVEE: Bump with texture connected to other branches don't workClément Foucault
Was caused by the bump node not being evaluated because the other branch was evaluated before. To fix this, we use fromnode instead of tonode. Also we fix a potential issue with recursiveness because ntree_shader_copy_branch() also use nodeChainIterBackwards() which would reset the iter_flag in the middle of the parent iteration. Use iter_flag as a bitflag for each iteration to fix this.
2019-10-10Fix T70609 EEVEE: Shader using lots of nodegroups are slow to updateClément Foucault
2019-10-07Cleanup: clang-formatCampbell Barton
2019-10-04Fix: Gain socket is not available in ridged multifractal.OmarSquircleArt
The gain socket in the Musgrave node should be available in the ridged multifractal mode. The logic for the availability was incorrect. Reviewers: brecht Differential Revision: https://developer.blender.org/D5989
2019-10-02Fix T70331 Node group passthrough is brokenClément Foucault
2019-10-02Fix T70405: Geometry node not linking manual derivativesPhilipp Oeser
Maniphest Tasks: T70405 Reviewed By: fclem Differential Revision: https://developer.blender.org/D5954
2019-10-01Fix T70325 EEVEE: Performance regression with large nodetreesClément Foucault
This was caused by nodeChainIter which is not linear complexity. Introduce nodeChainIterBackwards to iterate backwards faster.
2019-09-30Cleanup: spellingCampbell Barton
2019-09-28EEVEE: Speedup: Don't request orco layer if not neededClément Foucault
Should speed up eevee mesh update a tiny bit in certain particular cases (deform modifier + (shader using texcoord (but not generated output) OR principled bsdf OR geometry node (except tangent output))).
2019-09-27Cleanup: structs, cmake file listsCampbell Barton
2019-09-24Fix T68736 EEVEE: Loose subsurface node breaks shaderClément Foucault
2019-09-23ShaderNodeTree: Add flatten function to get rid of nodegroupsClément Foucault
This makes a lot of shader node wiring code less complex. This only add the flatten mechanism (which fixes T69672). ~~Cleanup to remove the complexity in ntree_shader_relink_displacement, ntree_shader_bump_branches and ntree_shader_tag_nodes will be commited separately.~~(already included) The code is only added for shader nodes for now but could be exported to other internal nodetree types in the future. Cleanup: Node Shader Tree: Remove GPUmaterial special nodegroup handling Reviewers: brecht Reviewed By: brecht Maniphest Tasks: T69672 Differential Revision: https://developer.blender.org/D5829
2019-09-19Fix T69971 EEVEE: Bump does not work using a UVMap node as inputClément Foucault
This fixes both the attribute and the uvmap node. Some other nodes are not supported but I think it makes little sense.
2019-09-14Cleanup: use const args, variablesCampbell Barton
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-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-12Cleanup: line breaks with commentsCampbell Barton
2019-09-09Shading: Extend Musgrave node to other dimensions.OmarSquircleArt
This patch extends Musgrave noise to operate in 1D, 2D, 3D, and 4D space. The Color output was also removed because it was identical to the Fac output. Reviewed By: brecht Differential Revision: https://developer.blender.org/D5566
2019-09-07Cleanup: use post increment/decrementCampbell Barton
When the result isn't used, prefer post increment/decrement (already used nearly everywhere in Blender).
2019-09-06Eevee: Use manual derivatives for better quality bump.Clément Foucault
We basically duplicate the height map branch plugged into the bump node, and tag each node in each branch as dx/dy/ref using `branch_tag`. Then we add a one pixel offset on the texture coordinates if the node is tagged as dx or dy. The dx/dy branches are plugged into (new) hidden sockets on the bump node. This match cycles bump better but have a performance impact. Also, complex nodetrees can now become instruction limited and not compile anymore. Reviewers: brecht Differential Revision: https://developer.blender.org/D5531
2019-09-05Cleanup: clang-formatCampbell 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-03EEVEE: Fix broken bump regressionClément Foucault
Regression introduced by 7f4a2fc437cf9a6decbda152bd7d36ce7a08929f
2019-08-30GPU: Split gpu_shader_material into multiple files.OmarSquircleArt
This patch continue the efforts to split the `gpu_shader_material` file started in D5569. Dependency resolution is now recursive. Each shading node gets its own file. Additionally, some utility files are added to be shared between files, like `math_util`, `color_util`, and `hash`. Some files are always included because they may be used in the execution function, like `world_normals`. Some glsl functions appeared to be unused, so they were removed, like `output_node`, `bits_to_01`, and `exp_blender`. Other functions have been renamed to be more general and get used as utils, like `texco_norm` which became `vector_normalize`. A lot of the opengl tests fails, but those same tests also fail in master, so this is probably unrelated to this patch. Reviewers: brecht Differential Revision: https://developer.blender.org/D5616
2019-08-27Compositor: Reversed order of Normal and Albedo in Denoising Node.Stefan Werner
2019-08-25Cleanup: redundant struct declarationsCampbell Barton
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-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-21Fix T68837 Eevee: Fix "GPU failed to find function math_max" messageClément Foucault
Was a missing rename.
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-16Fix T68702: Input socket in the Normal node isn't drawn properly.OmarSquircleArt
The Normal vector socket in the Normal node wasn't drawn properly and couldn't be controlled. Additionally, the socket name was drawn over it. This happened because the socket had a default value of a zero vector. To fix this, we set the default value to the unit vector `(0, 0, 1)`. Moreover, we don't draw the UI name if the subtype is `PROP_DIRECTION`. Reviewers: brecht Differential Revision: https://developer.blender.org/D5503
2019-08-15Eevee: Fix tangent map node not using the right UVMapClément Foucault
2019-08-14Compositor: Added denoising nodeBrecht Van Lommel
This node is built on Intel's OpenImageDenoise library. Other denoisers could be integrated, for example Lukas' Cycles denoiser. Compositor: Made OpenImageDenoise optional, added CMake and build_env files to find OIDN Compositor: Fixed some warnings in the denoising operator build_environment: Updated OpenImageDenoise to 0.8.1 build_environment: Updated OpenImageDenoise in `make deps` for macOS Reviewers: sergey, jbakker, brecht Reviewed By: brecht Subscribers: YAFU, LazyDodo, Zen_YS, slumber, samgreen, tjvoll, yeus, ponomarovmax, getrad, coder.kalyan, vitos1k, Yegor, DeepBlender, kumaran7, Darkfie9825, aliasguru, aafra, ace_dragon, juang3d, pandrodor, cdog, lordodin, jtheninja, mavek, marcog, 5k1n2, Atair, rawalanche, 0o00o0oo, filibis, poor, lukasstockner97 Tags: #compositing Differential Revision: https://developer.blender.org/D4304
2019-08-14Eevee: Add support for the holdout nodeClément Foucault
Support should be full when using Alpha Blend mode and partial if using any other blend mode (opaque / alpha clip / alpha hashed).
2019-08-14Eevee: Improve Transparent BSDF behaviorClément Foucault
Alpha blended Transparency is now using dual source blending making it fully compatible with cycles Transparent BSDF. Multiply and additive blend mode can be achieved using some nodes and are going to be removed.
2019-08-14Shading: Add a clamp option to the Map Range node.OmarSquircleArt
If the option is enabled, the output is clamped to the target range. The target range is [To Min, To Max]. The option is enabled by default. The clamp option is implemented in EEVEE by linking to the `clamp_value` GLSL function. And it is implemented in Cycles using a graph expand function. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5477
2019-08-13Shading: Add Clamp node to Cycles and EEVEE.OmarSquircleArt
This patch adds a new node that clamps a value between a maximum and a minimum values. Reviewers: brecht Differential Revision: https://developer.blender.org/D5476
2019-08-13Shading: Add Map Range node to Cycles and EEVEE.OmarSquircleArt
This patch adds a new Map Range node that linearly remaps an input value from a range to another. This node is similar to the compositor's Map Range node. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5471
2019-08-10Nodes: Display vector values expanded, except when specified as compact.OmarSquircleArt
Change the default drawing method of vector sockets to use a column layout. This allows more interactive use of nodes and avoids the one or two clicks needed to edit vector sockets in the old default component layout. Developers may still use the component layout by flaging the socket with the `SOCK_COMPACT` socket flag. For now, we choose to draw the SSS scale vector of the Principled and SSS nodes in a compact form because they don't require much interactivity. Reviewers: brecht, JacquesLucke Differential Revision: https://developer.blender.org/D5458
2019-08-06Cleanup: use BKE_ prefix for BKE_colortools.hCampbell Barton
2019-08-01Cleanup: misc spelling fixesCampbell Barton
T68035 by @luzpaz
2019-07-31Spelling fixes in comments and descriptions, patch by luzpazBrecht Van Lommel
Differential Revision: https://developer.blender.org/D3744