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
2014-04-23Fix T39849: Adding links directly between node group input/outputLukas Tönne
extension sockets would create additional extension sockets instead of simply ignoring them.
2014-04-21Cycles: add Transparent Depth output to Light Path node.Carlo Andreacchio
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-20Nodes: make default group nodes slighly wider, to match other node width ↵Brecht Van Lommel
defaults.
2014-04-02Cycles: add dedicated UV Map node, easier to find and has convenient auto ↵Kevin Dietrich
complete. Fixes T37954. Reviewed By: brecht, dingto Differential Revision: https://developer.blender.org/D230
2014-04-02Fix T39547: Toggling render passes on active scene does not updateLukas Tönne
render layer nodes in a pinned tree from different scene. The way these updates work is a nasty legacy hack: https://developer.blender.org/diffusion/B/browse/master/source/blender/nodes/composite/node_composite_tree.c$277 This function is called //very frequently// by the get_from_context method. However, this does not get called for pinned node trees, so when showing a different scene's compositing nodes in the editor they may not get updated correctly. Now moved this update call out of get_from_context so it happens in any case. Will be called no more frequently than before (on every redraw). Eventually the depsgraph should handle this more precisely, it's just a simple ID dependency anyway ...
2014-04-01Code cleanup: remove TRUE/FALSE & WITH_BOOL_COMPAT defineCampbell Barton
2014-03-26Code cleanup: style and warningsCampbell Barton
2014-03-12Code cleanup: de-duplicate switch statement, style editsCampbell Barton
2014-03-11New Corner Pin node: uses explicit corner values for a plane warp ↵Lukas Tönne
transformation. This was suggested by Christopher Barrett (terrachild). Corner pin is a common feature in compositing. The corners for the plane warping can be defined by using vector node inputs to allow using perspective plane transformations without having to go via the MovieClip editor tracking data. Uses the same math as the PlaneTrack node, but without the link to MovieClip and Object. {F78199} The code for PlaneTrack operations has been restructured a bit to share it with the CornerPin node. * PlaneDistortCommonOperation.h/.cpp: Shared generic code for warping images based on 4 plane corners and a perspective matrix generated from these. Contains operation base classes for both the WarpImage and Mask operations. * PlaneTrackOperation.h/.cpp: Current plane track node operations, based on the common code above. These add pointers to MovieClip and Object which define the track data from wich to read the corners. * PlaneCornerPinOperation.h/.cpp: New corner pin variant, using explicit input sockets for the plane corners. One downside of the current compositor design is that there is no concept of invariables (constants) that don't vary over the image space. This has already been an issue for Blur nodes (size input is usually constant except when "variable size" is enabled) and a few others. For the corner pin node it is necessary that the corner input sockets are also invariant. They have to be evaluated for each tile now, otherwise the data is not available. This in turn makes it necessary to make the operation "complex" and request full input buffers, which adds unnecessary overhead.
2014-03-07Code cleanup: styleCampbell Barton
2014-03-02Fix for own mistake: arc diff swallowed a commit somehow, breakingLukas Tönne
compilation.
2014-03-02Fix T37334: Better "internal links" function for muting and node disconnect.Lukas Tönne
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-02-26Fix T38831: blender internal enabling shadow pass changes material node diffuse.Brecht Van Lommel
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-25Fix T38773: Inconsistent conversion of colors and float values inLukas Tönne
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-24Fix T38813: missing color management in texture nodes preview.Brecht Van Lommel
2014-02-24Fix T38798: Can get stuck in world nodes when switching from Cycles toLukas Tönne
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-22Code cleanup: styleCampbell Barton
2014-02-19Code cleanup: styleCampbell Barton
2014-02-14Fix T38633: glsl not working well with mixed cycles/blender material nodes.Brecht Van Lommel
2014-02-14Code cleanup: duplicate headersCampbell Barton
2014-02-07ListBase API: add utility api funcs for clearing and checking emptyCampbell Barton
2014-02-05Quiet warningCampbell Barton
2014-02-05Fix T38340 and T38473: fixed Scene pointers in Composite and Defocus nodes ↵Lukas Tönne
don't get updated based on context. As discussed in T38340 the solution is to use the current scene from context whenever feasible. Composite does not use node->id at all now, the scene which owns the compositing node tree is retrieved from context instead. Defocus node->id is made editable by the user. By default it is not set, which also will make it use the contextual scene and camera info. The node->id pointer in Defocus is **not** cleared in older blend files. This is done for backward compatibility: the node will then behave as before in untouched scenes. File Output nodes also don't store scene in node->id. This is only needed when creating a new node for initializing the file format. Reviewers: brecht, jbakker, mdewanchand Reviewed By: brecht Differential Revision: https://developer.blender.org/D290
2014-02-03Fix T38439: allow IOR in range [0, inf] instead of [1, inf] in Cycles.Brecht Van Lommel
The same can be achieved by flipping normals on the mesh, but it can be convenient to do this in the shader.
2014-01-27Fix T38355: Crash with Shader Node Group with missing datablock,Lukas Tönne
only in "Material" viewport shading.
2014-01-20Fix T37978: cycles nodes with multiple Material Output nodes not predictable.Brecht Van Lommel
Now it uses the last activated node like compositing does. This should have no effect on existing files until you activate another output node there.
2014-01-16Code Cleanup: style and redundant castsCampbell Barton
2014-01-13Code Cleanup: replace checks for ima->source with BKE_image_is_animatedCampbell Barton
2014-01-10Fix T38142: socket interface 'type' enums are not initialized. These areLukas Tönne
not really needed anyway, but need to be adjusted to make use of the socket value copy methods.
2014-01-07Fix T38075, crash from shader node add/replace tree view template.Lukas Tönne
The sanity check for copying socket default value was using the socket idname for type compatibility checks, which is too strict. Subtypes would not be recognized as copyable, but since only the plain data type is needed below this is all that needs to be checked. That alone would not cause crash (just missing default value copy), but the tree view template was messing with the default_value DNA directly by freeing it in advance, which is not necessary and should be left to blenkernel when freeing the node. Otherwise this would leave the node invalid without a default_value if the copy function bails out.
2014-01-04Changed percentage and 0-1 number fields to use sliders. This is more ↵William Reynish
consistent. Reviewed by Brecht van Lommel, Thomas Dinges and Jonathan Williamson
2013-12-28Cycles Volume Render: work on nodes and closures.Brecht Van Lommel
* 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-22Style Cleanup: remove preprocessor indentation (updated wiki style guide too)Campbell Barton
2013-12-10Style CleanupCampbell Barton
2013-12-09Compositor node preview:Jeroen Bakker
moved the hide preview logic to a method on bNodeTreeType. This way the node.c keeps clean, but logic could still be shared. Implementing this per node, can lead to future errors.
2013-11-25Blender Internal: Add "Lamp Data" shader node that allows shaders to acquire ↵IRIE Shinsuke
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-24Blender Internal: Revert own previous commit for "Camera Data" node, correct ↵IRIE Shinsuke
GLSL code for view vector output of "Geometry" node. Revert 0c7d2de38219. 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-24Blender Internal: Fix shader node "Camera Data" that doesn't consider ↵IRIE Shinsuke
orthographic view. Note that Cycles still needs to fix.
2013-11-22Cycles: Add a "Normal" input socket to the Layer Weight node + GLSL drawing ↵Thomas Dinges
code. Patch by lichtwerk (Philipp Oeser). Differential Revision: http://developer.blender.org/D28
2013-11-21Blender Internal: Add shader nodes "Separate HSV" and "Combine HSV", same as ↵IRIE Shinsuke
Cycles' ones.
2013-11-17Style Cleanup: whitespaceCampbell Barton
2013-11-12Make dynamic node labels possible as a registerable function 'draw_label' ↵Lukas Toenne
(simple 'label' identifier is already in use, need to avoid API breakage). This should simply return a string. The dynamic label can still be overridden by the user-defined node.label string.
2013-11-12Instead of requiring a const char* return from the (optional) node label ↵Lukas Toenne
callback function, let it write into a mutable string buffer. This will allow actual dynamic labels for nodes using the python API.
2013-11-12Change the behavior of AO pass in Blender internal's shader/render node tree ↵Irie Shinsuke
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-09Cycles / Fresnel Node:Thomas Dinges
* 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-06Syncing methods for Color Balance node LGG and ASC-CDL modes. The settings ↵Lukas Toenne
for either mode are converted into equivalent settings of the other. This keeps the result of both modes roughly the same and mimics the previous behavior when settings were shared by both modes (but not equivalent). NOTE: Due to the use of additional sRGB conversion in the LGG mode the result is not entirely accurate, this should perhaps be fixed. Settings for each mode are kept in their own color values nevertheless, this avoids potential problems with float precision.
2013-11-06Fix #37333: Bad default value in Color Balance. Use independent ↵Lukas Toenne
offset/power/slope variables for the CDL mode in color balance node. This avoids stupid default values in particular for offset, which would be 1 when just using the lift value for it.
2013-11-05code cleanup: typosCampbell Barton
2013-10-31code cleanup: warningsCampbell Barton
2013-10-29Fix #37192, Rendered preview causes crash when deleting a material node in ↵Lukas Toenne
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.