Commit Graph

249 Commits

Author SHA1 Message Date
52d357a0b5 Freestyle: Added new UV Along Stroke shader node. 2014-08-12 10:10:40 +09:00
6a5b8e91b1 Freestyle: removed unnecessary call of node_type_storage() in the definition of the Output Line Style node. 2014-08-12 10:10:39 +09:00
83360eccae Fix for renamed API functions in rB415af0b. 2014-08-12 10:10:29 +09:00
1b65faf90b Freestyle: Changed the default Color value of the Output Line Style node. 2014-08-12 10:10:23 +09:00
4e11fcead0 Follow-up to rB647969f9b617: Renamed CTX_data_linestyle_from_scene() to BKE_get_linestyle_from_scene(). 2014-08-12 10:10:21 +09:00
846ec6e00c Added new Output Line Style shader node for defining a node-based line material. 2014-08-12 10:10:17 +09:00
87f75299e1 Implemented a basic framework for node-based shaders.
Shader nodes will be used to define materials for stroke rendering, so as to
allow users to interactively configure textures.
2014-08-12 10:10:14 +09:00
564c48a068 Cycles: Make Glass Shader Color default to 1.0.
This came up a few times already, most of the time you want a clear white glass, and not a greyish like one. :)
2014-07-29 10:11:30 +02:00
1161b00c76 Fix T40658: UV map node not working for GLSL materials. 2014-07-19 14:59:41 +02:00
7dbedf6d4a Fix T40795: Dot output is inverted in viewport with Cycles 2014-06-30 16:24:43 +06:00
a5a869c579 Fix 2 GLSL errors, with Cycles Hair BSDF. 2014-06-20 09:36:25 +02:00
34b8d22275 Fix T40585, group textures cannot be selected for painting.
Issue here is that if there's a texture in the tree, chances are it has
already been set as active texture so groups are never traversed.

Now changed logic so that if a group node is active, its own active
texture takes priority over the parent group active texture.
2014-06-18 20:40:50 +03:00
b12151eceb Cycles: glossy and anisotropic BSDF changes
* Anisotropic BSDF now supports GGX and Beckmann distributions, Ward has been
  removed because other distributions are superior.
* GGX is now the default distribution for all glossy and anisotropic nodes,
  since it looks good, has low noise and is fast to evaluate.
* Ashikhmin-Shirley is now available in the Glossy BSDF.
2014-06-14 13:49:57 +02:00
6cd5954246 Implement GLSL code for XYZ nodes. 2014-06-13 23:23:55 +02:00
3de3987ea1 Cycles: Add dedicated nodes to split/combine vectors.
This was already possible via the RGB nodes, but that seems weird.
2014-06-13 21:59:14 +02:00
477f35559c Code cleanup: reorder BKE_scene_use_new_shading_nodes checks last 2014-06-14 00:47:11 +10:00
164841e30e Code cleanup: style 2014-05-09 18:29:42 +10:00
3a8f1d5d8b Fix some nodes showing up as undefined after the fix in 79c345acc2.
A bunch of nodes had invalid storage definitions that don't refer to an actual
DNA struct. Ref T40033.
2014-05-07 20:28:46 +02:00
3fbc984b06 Nodes: add absolute value operation to all math nodes
Reviewed By: dingto, brecht

Differential Revision: https://developer.blender.org/D507
2014-05-07 16:43:59 +02:00
7ca74fc1c0 Code cleanup: use 'const' for arrays (blenloader, gpu, imbuf, makesdna, modifiers, nodes) 2014-04-27 00:25:16 +10:00
7765b73f6d Cycles: add Transparent Depth output to Light Path node.
This can for example be useful if you want to manually terminate the path at
some point and use a color other than black.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D454
2014-04-21 14:44:36 +02:00
1e3f8b517b Nodes: make default group nodes slighly wider, to match other node width defaults. 2014-04-20 14:47:46 +02:00
cb7cfd3ab6 Cycles: add dedicated UV Map node, easier to find and has convenient auto complete.
Fixes T37954.

Reviewed By: brecht, dingto

Differential Revision: https://developer.blender.org/D230
2014-04-02 11:53:44 +02:00
617557b08e Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT define 2014-04-01 15:22:28 +11:00
a99a8a6070 Code cleanup: style and warnings 2014-03-26 07:53:56 +11:00
03af4cbf91 Code cleanup: style 2014-03-07 13:28:39 +11:00
a89ef76136 Fix for own mistake: arc diff swallowed a commit somehow, breaking
compilation.
2014-03-02 17:04:24 +01:00
fd553c5b7b Fix T37334: Better "internal links" function for muting and node disconnect.
Implements a more flexible internal connect function for standard nodes
(compositor, shader, texture). Allow feasible datatype connections by
priority.

The priorities for common datatypes in compositor, shader and texture
nodes are encoded in a simple function. Certain impossible connections
(e.g. color -> cycles shader) are excluded by giving them -1 priority.

Priority overrides link status: If a higher priority input can be found,
this will be used regardless of link status. Link status only comes into
play for inputs with same priority.

Reviewers: brecht

CC: sebastian_k

Differential Revision: https://developer.blender.org/D356
2014-03-02 16:04:25 +01:00
1dbd3ae629 Fix T38831: blender internal enabling shadow pass changes material node diffuse.
It would include/exclude shadow depending on the pass being disabled/enabled,
but that should have no influence on the combined render result. Now it always
includes shadow.
2014-02-26 16:55:50 +01:00
3ae641eb02 Fix T38773: Inconsistent conversion of colors and float values in
Blender Internal shader nodes.

All nodes now use the `nodestack_get_vec` function to convert whatever
input values are connected to the desired type, instead of using the
stack values directly regardless of what they contain.

Note that this might break old node setups that have been adapted to the
faulty behavior, but as discussed in the bug report the 2.70 version is
the right time to fix this.
2014-02-25 10:15:28 +01:00
b5aef37c27 Fix T38798: Can get stuck in world nodes when switching from Cycles to
BI.

The shaderfrom setting in the node editor only makes sense for "new"
shading nodes (cycles), otherwise it should be ignored and default to
SNODE_SHADER_OBJECT.
2014-02-24 13:21:43 +01:00
c9233bfd82 Code cleanup: style 2014-02-19 08:02:59 +11:00
a252e27fec Fix T38633: glsl not working well with mixed cycles/blender material nodes. 2014-02-14 15:11:58 +01:00
eff3bd4e98 Fix T38439: allow IOR in range [0, inf] instead of [1, inf] in Cycles.
The same can be achieved by flipping normals on the mesh, but it can be
convenient to do this in the shader.
2014-02-03 17:08:34 +01:00
21c56f754f Fix T38355: Crash with Shader Node Group with missing datablock,
only in "Material" viewport shading.
2014-01-27 12:27:30 +01:00
4d4222b761 Changed percentage and 0-1 number fields to use sliders. This is more consistent.
Reviewed by Brecht van Lommel, Thomas Dinges and Jonathan Williamson
2014-01-03 21:12:56 +01:00
a35db17cee Cycles Volume Render: work on nodes and closures.
* Henyey-Greenstein scattering closure implementation.
* Rename transparent to absorption node and isotropic to scatter node.
* Volume density is folded into the closure weights.
* OSL support for volume closures and nodes.
* This commit has no user visible changes, there is no volume render code yet.

This is work by "storm", Stuart Broadfoot, Thomas Dinges and myself.
2013-12-28 16:57:02 +01:00
c1c26c36f6 Style Cleanup: remove preprocessor indentation (updated wiki style guide too) 2013-12-22 14:12:19 +11:00
ab9822eff8 Blender Internal: Add "Lamp Data" shader node that allows shaders to acquire information such as light vector from specified Lamp.
For now this provides the following outputs:

- Color
- Light Vector
- Distance
- Shadow
- Visibility Factor

Note: Color output is multiplied by the lamp energy.  Multiplication of
color*max(dot(light_vector,normal_vector),0)*shadow*visibility_factor
produces the exact same result as the Lambert shader.

Many thanks to Brecht for code review and discussion!
2013-11-25 22:19:47 +09:00
178bd849bf Blender Internal: Revert own previous commit for "Camera Data" node, correct GLSL code for view vector output of "Geometry" node.
Revert 0c7d2de382. The "Camera Data" node actually gives the location
of the point in camera coordinate system.  To obtain actual camera data,
we can use "Geometry" node instead.

Also modify the "Geometry" node, to produce correct view vector output
in orthographic GLSL preview.
2013-11-25 02:21:06 +09:00
0c7d2de382 Blender Internal: Fix shader node "Camera Data" that doesn't consider orthographic view.
Note that Cycles still needs to fix.
2013-11-24 18:56:19 +09:00
bd5da19d86 Cycles: Add a "Normal" input socket to the Layer Weight node + GLSL drawing code.
Patch by lichtwerk (Philipp Oeser).

Differential Revision: http://developer.blender.org/D28
2013-11-22 00:33:28 +01:00
98bf859efc Blender Internal: Add shader nodes "Separate HSV" and "Combine HSV", same as Cycles' ones. 2013-11-21 12:43:38 +09:00
ba7fd8cd5c Change the behavior of AO pass in Blender internal's shader/render node tree so that it becomes (1.0, 1.0, 1.0) when AO is disabled.
For materials using AO pass, this makes the material preview and the GLSL
preview more accurate, but shouldn't affect final rendering in most cases
because we usually enable AO when using the AO pass in node tree.

Thanks to Brecht for code review.
2013-11-12 10:59:40 +00:00
cc7b2a0b04 Cycles / Fresnel Node:
* Add a "Normal" Input to the Fresnel node.
* Fix for the Fresnel GLSL code (normalize the Incoming vector).

Patch #37384 by Philipp Oeser (lichtwerk) , thanks!
2013-11-09 13:14:00 +00:00
Lukas Toenne
8bdbbca485 Fix #37192, Rendered preview causes crash when deleting a material node in shader node editor. The 'free' callback for node execution data was accessed from the node->typeinfo, but this pointer can
become invalid because the render database is not immediately freed after the job finishes. To avoid access to dangling node pointers, store the function callback in the exec data itself. The node
pointer must not be accessed in the free function (wasn't used before either), these functions are purely for the execution data.
2013-10-29 17:46:01 +00:00
a47e6810a2 Fixes for cycles Mapping and Vector Transform node:
* Keep the Mapping node default type as Point for now, instead of Texture. The
  latter is a better default, but this is breaking API compatibility and it's
  too close to release to expect addons to be fixed in time.

* Vector Transform and Mapping nodes had properties with name "type" to set the
  type of vector, but this conflicts with the node type property, so renamed to
  vector_type now.
2013-10-02 17:02:59 +00:00
ae25238f41 Fix #36882: cycles gamma node not working with glsl materials. 2013-09-30 12:11:27 +00:00
c3d3d8be36 Fix cycles issue with mapping node rotation and scale order. When using both
scale and rotation in mapping node, there would be shearing, and the only way
to avoid that was to add 2 mapping nodes. This is because to transform the
texture, the inverse transform needs to be done on the texture coordinate

Now the mapping node has Texture/Point/Vector/Normal types to transform the
vector for a particular purpose. Point is the existing behavior, Texture is
the new default that behaves more like you might expect.
2013-09-25 20:28:49 +00:00
05dd8cad7b add unused hair bsdf glsl callback function to register_node_type_sh_bsdf_hair() 2013-09-17 00:24:46 +00:00