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
2013-06-23Fix #35847: cycles group nodes did not work well exposing inputs like normal orBrecht Van Lommel
texture coordinate that should automatically use the default normal or texture coordinate appropriate for that node, rather than some fixed value specified by the user.
2013-06-21Fix #35812: cycles image texture node not doing proper alpha handling of PNGBrecht Van Lommel
images with open shading language enabled.
2013-06-11Fix compilation error caused by recent wavelength node commitSergey Sharybin
Apparently, it's bad idea to rely on compiler to cast NULL which is (void*)0 to int -- and in fact if i was a compiler would also generate an error. Further, couldn't see why we need to pass NULL or 0 th add_node, argument value is defautl to 0 already.
2013-06-10Cycles / Wavelength to RGB node:Thomas Dinges
* Added a node to convert wavelength (in nanometer, from 380nm to 780nm) to RGB values. This can be useful to match real world colors easier. Example render: http://www.pasteall.org/pic/show.php?id=53202 ToDo: * Move some functions into an util file, maybe a common util_color.h or so. * Test GPU, unfortunately sm_21 doesn't work for me yet.
2013-05-28Cycles: normal maps are now backwards compatible again after recent fix, withBrecht Van Lommel
a separate Blender Object/World Space that is compatible with Blender render baking and uses the YZ flipping convention.
2013-05-23Cycles / Toon BSDF:Thomas Dinges
* Added a toon bsdf node to Cycles. This was already available as OSL only closure, but is now available inside the SVM backed as well, for CPU and GPU rendering. * There are 2 variations available, diffuse and glossy toon, selectable via a menu inside the node. Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#Toon Example render & blend file: http://www.pasteall.org/pic/show.php?id=51970 http://www.pasteall.org/blend/21579
2013-05-20Cycles / Wireframe node:Thomas Dinges
* Added a wireframe node (Input category) to get access to Mesh wireframe data. The thickness can be controlled via a "Size" parameter, and is available in world units (default) and screen pixel size. * Only the triangulated mesh is available now, quads is for later. Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Wireframe Render and Example file: http://www.pasteall.org/pic/show.php?id=51731 http://www.pasteall.org/blend/21510
2013-05-20Math Node:Thomas Dinges
* Added a Modulo operation to the math node, available in Compositor, Shader and Texture Nodes.
2013-05-18Code cleanup / Cycles:Thomas Dinges
* Simplify shaperadius() function a bit to avoid castings. * Style cleanup 1.f -> 1.0f, to follow rest of Cycles code.
2013-05-10Cycles: bump node changes to add a Distance input that controls the overall ↵Brecht Van Lommel
displacement distance, and an Invert option to invert the bump effect.
2013-05-10Fix #35282: cycles color ramp set to constant interpolation did not work well.Brecht Van Lommel
2013-05-08Fix #35246: cycles has no simple way to combine bump and normal mapping. NowBrecht Van Lommel
the Bump node has a Normal input, so you can chain it after a Normal Map node. Note that normal mapping always has to be done first because it is tied to the particular mesh surface and tangents.
2013-04-17Fix #35004: fireflies with .tif image in cycles, try to avoid extreme values ↵Brecht Van Lommel
when openimageio can't detect premul/straight alpha correct.
2013-04-16Cycles Hair: Strand Minimum Pixel SizeStuart Broadfoot
Code is added to restrict the pixel size of strands in cycles. It works best with ribbon primitives and a preset for these is included. It uses distance dependent expansion of the strands and then stochastic strand removal to give a fading. To prevent a slowdown for triangle mesh objects in the BVH an extra visibility flag has been added. It is also only applied for camera rays. The strand width settings are also changed, so that the particle size is not included in the width calculation. Instead there is a separate particle system parameter for width scaling.
2013-04-02Cycles: initial subsurface multiple scattering support. It's not working asBrecht Van Lommel
well as I would like, but it works, just add a subsurface scattering node and you can use it like any other BSDF. It is using fully raytraced sampling compatible with progressive rendering and other more advanced rendering algorithms we might used in the future, and it uses no extra memory so it's suitable for complex scenes. Disadvantage is that it can be quite noisy and slow. Two limitations that will be solved are that it does not work with bump mapping yet, and that the falloff function used is a simple cubic function, it's not using the real BSSRDF falloff function yet. The node has a color input, along with a scattering radius for each RGB color channel along with an overall scale factor for the radii. There is also no GPU support yet, will test if I can get that working later. Node Documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#BSSRDF Implementation notes: http://wiki.blender.org/index.php/Dev:2.6/Source/Render/Cycles/Subsurface_Scattering
2013-03-27Cycles / SunSky:Thomas Dinges
* Use already calculated theta^2 for theta^3 calculation.
2013-03-18Merge of the PyNodes branch (aka "custom nodes") into trunk.Lukas Toenne
PyNodes opens up the node system in Blender to scripters and adds a number of UI-level improvements. === Dynamic node type registration === Node types can now be added at runtime, using the RNA registration mechanism from python. This enables addons such as render engines to create a complete user interface with nodes. Examples of how such nodes can be defined can be found in my personal wiki docs atm [1] and as a script template in release/scripts/templates_py/custom_nodes.py [2]. === Node group improvements === Each node editor now has a tree history of edited node groups, which allows opening and editing nested node groups. The node editor also supports pinning now, so that different spaces can be used to edit different node groups simultaneously. For more ramblings and rationale see (really old) blog post on code.blender.org [3]. The interface of node groups has been overhauled. Sockets of a node group are no longer displayed in columns on either side, but instead special input/output nodes are used to mirror group sockets inside a node tree. This solves the problem of long node lines in groups and allows more adaptable node layout. Internal sockets can be exposed from a group by either connecting to the extension sockets in input/output nodes (shown as empty circle) or by adding sockets from the node property bar in the "Interface" panel. Further details such as the socket name can also be changed there. [1] http://wiki.blender.org/index.php/User:Phonybone/Python_Nodes [2] http://projects.blender.org/scm/viewvc.php/trunk/blender/release/scripts/templates_py/custom_nodes.py?view=markup&root=bf-blender [3] http://code.blender.org/index.php/2012/01/improving-node-group-interface-editing/
2013-02-15Fix #34252: cycles rendering 16bit PNG with too light colors.Brecht Van Lommel
2013-01-30Cycles material preview: fix for generated/packed/movie filesSergey Sharybin
Issue was caused by cycles trying to find builtin images in a main database and in case of preview render images are not in database, they're just referenced by shader node tree. Now builtin images in cycles have got void* pointer to store data needed to load builtin images. In case ob blender session, this pointer will store pointer from PointerRNA for image datablock and used later to construct Image class based on this pointer. This also saves database lookup for final render which is nice :) Reviewed by Brecht.
2013-01-20code cleanup: remove some paranoid checks which would have crashed anyway ↵Campbell Barton
earlier on. Also some minor formatting.
2013-01-15Fix #33830: cycles normal mapping was not quite correct, was not correctlyBrecht Van Lommel
respecting the assumption that normal and tangent are interpolated without normalization.
2013-01-12Packed and generated images support for CyclesSergey Sharybin
This commit adds support of packed and generated images for Cycles when using SVM backend. Movies are still not supported. This changes also doesn't touch OSL which is much less trivial to adopt for any images which are not saved to disk. Implementation details: - When adding images to Image Manager is now possible to mark image as builtin. Builtin images will bypass OIIO loader and will use special loading callbacks. - Callbacks are set by Blender Session and they're using C++ RNA interface to obtain needed data (pixels, dimensions, is_float flag). - Image Manager assumes file path is used as reference to a builtin images, but in fact currently image datablock name is used for reference. This makes it easy to find an image in BlendData database. - Added some extra properties to Image RNA: * channels, which denotes actual number of channels in ImBuf. This is needed to treat image's pixels correct (before it wasn't possible because API used internal number of channels for pixels which is in fact doesn't correlate with image depth) * is_float, which is truth if image is stored in float buffer of ImBuf. - Implemented string lookup for C++ RNA collections for cases there's no manual lookup function. OSL is not supported because it used own image loading and filtering routines and there's seems to be no API to feed pre-loaded pixels directly to the library. Think we'll either need to add some API to support such kind of feeding or consider OSL does not have support of packed images at all. Movies are not supported at this moment because of lack of RNA API to load specified frame. It's not difficult to solve, just need to consider what to best here: * Either write some general python interface for ImBuf and use it via C++ API, or * Write a PY API function which will return pixels for given frame, or * Use bad-level BKE_* call Anyway, small steps, further improvements later. Reviewed by Brecht, thanks!
2013-01-03Cycles Hair: refactoring to support generic attributes for hair curves. ThereBrecht Van Lommel
should be no functional changes yet. UV, tangent and intercept are now stored as attributes, with the intention to add more like multiple uv's, vertex colors, generated coordinates and motion vectors later. Things got a bit messy due to having both triangle and curve data in the same mesh data structure, which also gives us two sets of attributes. This will get cleaned up when we split the mesh class.
2012-12-29Cycles Hair:Thomas Dinges
* Implemented the Hair Info Node for OSL.
2012-12-28New featureStuart Broadfoot
Patch [#33445] - Experimental Cycles Hair Rendering (CPU only) This patch allows hair data to be exported to cycles and introduces a new line segment primitive to render with. The UI appears under the particle tab and there is a new hair info node available. It is only available under the experimental feature set and for cpu rendering.
2012-12-11Cycles: RGB and Vector Curves nodes now supported, with the limitation that theBrecht Van Lommel
range must be left to the default (0..1 and -1..1).
2012-12-06Fix mapping node min/max not working OSL.Brecht Van Lommel
2012-11-30Fix #33364: cycles tile rendering artifacts.Brecht Van Lommel
2012-11-30Fix #33347: cycles OSL crash connecting string to vector socket.Brecht Van Lommel
2012-11-27Fix #32907: failure rendering a complex node setup, hitting fixed max numberBrecht Van Lommel
of closures limit. Optimized the code now so it can handle more. Change SVM mix/add closure handling, now we transform the node graph so that the mix weights are fed into the closure nodes directly.
2012-11-21Fix #32796: cycles did not support image auto refresh option.Brecht Van Lommel
2012-11-20Fix cycles OSL missing support for texture mapping paramaters found in textureBrecht Van Lommel
properties tab.
2012-11-20Fix [#33239] Cycles OSL : Environment Texture Rotation Incorrect:Thomas Dinges
* Projection mappings were not implemented yet.
2012-11-15Fix #33183: cycles bump mapping was not executed with only an AO node in a ↵Brecht Van Lommel
material.
2012-11-08Cycles: add strength input for normal map node.Brecht Van Lommel
2012-11-06Cycles: 4 new nodes.Brecht Van Lommel
* Tangent: generate a tangent direction for anisotropic shading. Can be either radial around X/Y/Z axis, or from a UV map. The default tangent for the anisotropic BSDF and geometry node is now always radial Z, for UV tangent use this node now. http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Tangent * Normal Map: generate a perturbed normal from an RGB normal map image. This is usually chained with an Image Texture node in the color input, to specify the normal map image. For tangent space normal maps, the UV coordinates for the image must match, and the image texture should be set to Non-Color mode to give correct results. http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/More#Normal_Map * Refraction BSDF: for best results this node should be considered as a building block and not be used on its own, but rather mixed with a glossy node using a fresnel type factor. Otherwise it will give quite dark results at the edges for glossy refraction. http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#Refraction * Ambient Occlusion: controls the amount of AO a surface receives, rather than having just a global factor in the world. Note that this outputs a shader and not a color, that's for another time. http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#Ambient_Occlusion
2012-11-05Cycles: improve Anisotropic BSDF node, changing the Roughness U/V inputs toBrecht Van Lommel
Roughness, Anisotropy and Rotation. Also a fix for automatic tangents and OSL attribute handling. Meaning of new sockets explained in the documentation: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#Anisotropic
2012-11-03Cycles OSL: shader script nodeBrecht Van Lommel
Documentation here: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/OSL http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.65/Cycles These changes require an OSL build from this repository: https://github.com/DingTo/OpenShadingLanguage The lib/ OSL has not been updated yet, so you might want to keep OSL disabled until that is done. Still todo: * Auto update for external .osl files not working currently, press update manually * Node could indicate better when a refresh is needed * Attributes like UV or generated coordinates may be missing when requested from an OSL shader, need a way to request them to be loaded by cycles * Expose string, enum and other non-socket parameters * Scons build support Thanks to Thomas, Lukas and Dalai for the implementation.
2012-10-22Fix #32947: cycles color to float conversion issue after integer socket commit.Brecht Van Lommel
2012-10-20Cycles OSL: light path, texture coordinate, bump and blended box mapping now upBrecht Van Lommel
to date and working.
2012-10-20Integer socket support in Cycles. Int values are already supported natively ↵Lukas Toenne
in OSL, but were not used as actual ints on the SVM stack. This patch implements all the necessary functionality to support reading input values from RNA properties and convert between SHADER_SOCKET_INT and other types.
2012-10-18Fix #32904: strange pattern on subdivided cube with anistropic shader. NowBrecht Van Lommel
tangents from generated coordinates are computed per pixel on the fly, avoids bad interpolation of singularities.
2012-10-17Cycles / OSL:Thomas Dinges
* Layer Weight is now available in OSL.
2012-10-17Cycles: motion blur is now curved and passes exactly through the midpoint.Brecht Van Lommel
Previously it would only interpolate between the previous and next frame, which meant it might not hit the current frame position.
2012-10-17Cycles: add Tangent input for Anisotropic BSDF.Brecht Van Lommel
Also refactor SVM BSDF code, preparing it to be shared with OSL.
2012-10-10Cycles: per-BSDF normal input and new Bump node.Brecht Van Lommel
Each BSDF node now has a Normal input, which can be used to set a custom normal for the BSDF, for example if you want to have only bump on one of the layers in a multilayer material. The Bump node can be used to generate a normal from a scalar value, the same as what happens when you connect a scalar value to the displacement output. Documentation has been updated with the latest changes: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes Patch by Agustin Benavidez, some implementation tweaks by me.
2012-10-10Cycles: Anisotropic BSDF enabled, with tangents now computed from the active ↵Brecht Van Lommel
UV map. It's using the Ward BSDF currently, which has some energy loss so might be a bit dark. More/better BSDF options can be implemented later. Patch by Mike Farnsworth, some modifications by me. Currently it's not possible yet to set a custom tangent, that will follow as part of per-bsdf normals patch.
2012-10-06Fix for UV texture coordinate problem in cycles, after recent fix.Brecht Van Lommel
2012-10-05Fix generated texture coordinate issue after "from dupli" option was added.Brecht Van Lommel
2012-10-05Cycles: add "From Dupli" option for texture coordinate node. This gets theBrecht Van Lommel
Generated and UV coordinates from the duplicator of instance instead of the object itself. This was used in e.g. Big Buck Bunny for texturing instanced feathers with a UV map on the bird. Many files changed, mainly to do some refactoring to get rid of G.rendering global in duplilist code.