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-04-02Cycles: small code cleanup + fix SSS closure mixed with other closures doingBrecht Van Lommel
a bit too much work.
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-04-02Cycles: code refactoring to add generic lookup table memory.Brecht Van Lommel
2013-02-13Fix #34226: cycles shadow pass got incorrectly influenced by world multipleBrecht Van Lommel
importance sampleing.
2013-02-12Attempted fix for issue with latest CUDA kernel for 32 bit windows/linux/mac,Brecht Van Lommel
there seems to be some sort of compiler bug in CUDA toolkit 4.2, uninlining a few functions seems to avoid it.
2013-02-07CUDA / sm_20:Thomas Dinges
* Enable Lamp MIS again, it works on a GTX 570 (which is sm_20) with latest SVN. Tested by vitos1k in IRC:. Feedback from GTX 580 users would be appreciated on this.
2013-01-30Cycles: make multiple importance sampling for lamps an option per lamp now,Brecht Van Lommel
disabled by default for backwards compatibility. http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Integrator
2013-01-22Cycles:Thomas Dinges
* Disable Lamp MIS on sm_20. Still enabled for CPU and sm_21 and above.
2013-01-15Cycles Hair: Introduction of Cardinal Spline Curve Segments and minor fixes.Stuart Broadfoot
The curve segment primitive has been added. This includes an intersection function and changes to the BVH. A few small errors in the line segment intersection routine are also fixed.
2013-01-15Fix #33838: light render passes for non-progressive integrator were not correct.Brecht Van Lommel
2013-01-15Cycles:Thomas Dinges
* CUDA: Make it more clear that sm_12 and below is not supported. * OpenCL: __KERNEL_SHADING__ was declared twice for nvidia opencl device. * Some reshuffle of defines in kernel_types.h. No functional changes.
2013-01-14Cycles: enable lamp multiple importance sampling on the GPU, seems to beBrecht Van Lommel
working ok with sm_20 and sm_21.
2013-01-10Cycles: multiple importance sampling for lamps, which helps reduce noise forBrecht Van Lommel
big lamps and sharp glossy reflections. This was already supported for mesh lights and the background, so lamps should do it too. This is not for free and it's a bit slower than I hoped even though there is no extra BVH ray intersection. I'll try to optimize it more later. * Area lights look a bit different now, they had the wrong shape before. * Also fixes a sampling issue in the non-progressive integrator. * Only enabled for the CPU, will test on the GPU later. * An option to disable this will be added for situations where it does not help. Same time comparison before/after: http://www.pasteall.org/pic/show.php?id=43313 http://www.pasteall.org/pic/show.php?id=43314
2013-01-03Cycles Hair: refactoring to store curves with the index of the first key and theBrecht Van Lommel
number of keys in the curve, rather than curve segments with the indices of two keys. ShaderData.segment now stores the segment number in the curve.
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-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-20Cycles: reduce memory usage of instanced objects by about 40%, as long as theBrecht Van Lommel
motion vector pass is not enabled.
2012-12-15Cycles OSL minor optimizations: recycle shading context, don't do memoryBrecht Van Lommel
allocations for trace data, avoid some virtual function calls. Only helps a few percentages.
2012-12-01Fix #33375: OSL geom:trianglevertices gave wrong coordinates for static BVH.Brecht Van Lommel
Also some simple OSL optimization, passing thread data pointer directly instead of via thread local storage, and creating ustrings for attribute lookup.
2012-11-30Fix cycles CUDA sm 1.3 build with 32 bit compiler, tweaked voronoiBrecht Van Lommel
and brick code so that it can be uninlined.
2012-11-29Fix #32900: object motion blur not working on the GPU. To make this work I ↵Brecht Van Lommel
disabled motion blurring of scale animation, probably not a big loss in practice since it's not so common to animate this, can be added back later.
2012-11-22Cycles: disable anisotropic BSDF on CUDA sm 1.x, to try to get it building ↵Brecht Van Lommel
again.
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: fix crash rendering textured objects in OpenCLSergey Sharybin
Issue was caused by changed order of texture slots -- float textures have got lower slots indices than byte textures. OpenCL was still assuming byte textures goes before float.
2012-10-21style cleanup: trailing tabs & expand some non prefix tabs into spaces.Campbell Barton
2012-10-20Cycles OSL: light path, texture coordinate, bump and blended box mapping now upBrecht Van Lommel
to date and working.
2012-10-20Cycles: disable motion blur for CUDA entirely now, also goes wrong on otherBrecht Van Lommel
architectures. Still did not find a good solution.
2012-10-18More fixes related to #32900, motion blur with cuda sm 2.0 still disabled.Brecht Van Lommel
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-16Cycles: object motion blur enabled, so in addition to camera motion, movingBrecht Van Lommel
objects in the scene will also cause motion blur. This change does come with a bit of a slow down to the CPU rendering kernel even with motion blur disabled, due to extra overhead in handling of object matrices. It's a few percentages on simpler scenes, not so noticeable on more complex ones. With motion blur enabled rendering is of course also slower as would be expected, though from testing especially GPU rendering handles it quite well. This does not support motion blur from deforming objects yet, only translation, scale and rotation. Deformation blur is probably for another release.
2012-10-16Cycles: fix some update issues with camera motion blur, and do some more workBrecht Van Lommel
for getting object motion blur ready.
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-09Cycles: camera motion blur enabled.Brecht Van Lommel
Still more work needed to get object motion blur ready.
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.
2012-09-07Fix for Cycles (CUDA) compilation (again ...). Moved the AttributeStandard ↵Lukas Toenne
enum typedef and the attribute_standard_name mapping function to util_attribute/util_types headers, so they can properly be used by kernel and render files alike. This should avoid any std C includes which are not available in CUDA. Thanks to Sergey for help!
2012-09-06Resolve CUDA kernel compilation errorSergey Sharybin
Instead of including util_string.h which in fact also defines some symbols from util_string.cpp include STL's string header and directly use std::string.
2012-09-06Cycles compiler fixes related to OSL changes:Lukas Toenne
* reverted r50430 * removed 2 util_params.h includes from r50428, these were causing trouble with OIIO in CUDA compilation. The purpose of these was to define the ustring type, but can just use the standard string type from util_string as well.
2012-09-05Fix for attribute lookup in OSL. This uses a map in the OSL globals instead ↵Lukas Toenne
of the device texture.
2012-09-03Enable compilation of the SVM backend for Cycles even when OSL is enabled. ↵Lukas Toenne
The switch between SVM/OSL is decided at runtime, so the SVM code cannot simply be ignored when OSL is enabled. Currently all shader functions check the OSL/SVM flag to dispatch to the appropriate backend. If this turns out to be a significant overhead (unlikely) this test should be moved out of the inner loop.
2012-08-31Added a bunch of additional particle state attributes to the Cycles particle ↵Lukas Toenne
info node: * Location: Basically the same as the location from Object Info node for object instances on particles, but in principle there could be additional offsets for dupli objects, so included for completeness. * Size: Single float scale of the particle. Also directly translates to object scale for current dupli objects, but handy to have as a single float to start with instead of a scale vector (currently not even exposed in Object Info). * Rotation: This is a quaternion, which are not yet supported by Cycles nodes. The float4 is copied to internal Cycles data and stored in the particles texture data, but the node doesn't have a socket for it yet and the data is not yet written to the stack. Code is just commented out so could be enabled quickly if/when rotation support is added to cycles. * Velocity: Linear velocity vector of particles. * Angular Velocity: Angular velocity around principle axes. The texture data is currently packed tightly into the particles texture, which saves a few bytes, but requires an additional texture lookup for some vector attributes which spread over two float4s. Could also add another float4 to particle size to avoid this.
2012-08-07Fix for fix, now nestedJens Verwiebe
2012-08-07Fix for endiantest, xcode condition interferred with other osJens Verwiebe
2012-08-07OSX: disable kernels in cycles gpu again, would only work in 10.8 afaikJens Verwiebe
2012-08-07OSX/cmake: Mountain-Lion (10.8 )adaptions, skip unsupported endianess etc., ↵Jens Verwiebe
todo: deployment target management
2012-07-23fix for cycles bug in localview: see r48269, bits used for localview gave ↵Campbell Barton
collisions with PathRayFlag's
2012-06-13Cycles: first step for implementation of non-progressive sampler that handlesBrecht Van Lommel
direct and indirect lighting differently. Rather than picking one light for each point on the path, it now loops over all lights for direct lighting. For indirect lighting it still picks a random light each time. It gives control over the number of AA samples, and the number of Diffuse, Glossy, Transmission, AO, Mesh Light, Background and Lamp samples for each AA sample. This helps tuning render performance/noise and tends to give less noise for renders dominated by direct lighting. This sampling mode only works on the CPU, and still needs proper tile rendering to show progress (will follow tommorrow or so), because each AA sample can be quite slow now and so the delay between each update wil be too long.
2012-06-08Particle Info node for Cycles. This can be used to access particle ↵Lukas Toenne
information in material shaders for dupli objects. For now only the particle Age and individual Lifetime (in frames) are supported, more attributes can be added when needed. The particle data is stored in a separate texture if any of the dupli objects uses particle info nodes in shaders. To map dupli objects onto particles the store an additional particle_index value, which is different from the simple dupli object index (only visible particles, also works for particle dupli groups mode). Some simple use cases on the code.blender.org blog: http://code.blender.org/index.php/2012/05/particle-info-node/
2012-06-04Cycles / OSL:Thomas Dinges
* __OSL__ is now defined for CPU when building with OSL. * First batch of compile fixes, remove some unneeded std namespace declarations and added missing includes.