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
2017-01-20Cycles: Cleanup, styleSergey Sharybin
2016-10-19Cycles: Get rid of ifdef-ed noinline policySergey Sharybin
2016-10-19Cycles: Fix use of uninitialized variable in SSSSergey Sharybin
When ray hits curve segment with SSS shader it was possible to have uninitialized hit_P variable used for sampling. Seems that was a reason of our headache of difference between AVX2 and SSE4 render results here, so now we can revert all the nasty ifdef-ed inline policies.
2016-09-14Cycles: Fix wrong SSS in combination with hair on AVX2 platformSergey Sharybin
Not sure why exactly that happened, need a closer look.
2016-08-05Cycles: Correction to previous commitSergey Sharybin
The change didn't fix difference render result on CUDA as i've hoped, so reverting change for GPU rendering for now. Sorry for the noise.
2016-08-05Cycles: Fix/workaround for wrong/noise render results with GCC6Sergey Sharybin
2016-08-03Cycles: Recent SSS inline changes broke CPU testsSergey Sharybin
Very weird, but let's just fall back a bit for now.
2016-08-01Cycles: Tweaks to support CUDA 8 toolkitSergey Sharybin
All the changes are mainly giving explicit tips on inlining functions, so they match how inlining worked with previous toolkit. This make kernel compiled by CUDA 8 render in average with same speed as previous kernels. Some scenes are somewhat faster, some of them are somewhat slower. But slowdown is within 1% so far. On a positive side it allows us to enable newer generation cards on buildbots (so GTX 10x0 will be officially supported soon).
2016-07-31Cycles: refactor kernel closure storage to use structs per closure type.Brecht Van Lommel
Reviewed By: dingto, sergey Differential Revision: https://developer.blender.org/D2127
2016-06-23Cycles: Add multi-scattering, energy-conserving GGX as an option to the ↵Lukas Stockner
Glossy, Anisotropic and Glass BSDFs This commit adds a new distribution to the Glossy, Anisotropic and Glass BSDFs that implements the multiple-scattering microfacet model described in the paper "Multiple-Scattering Microfacet BSDFs with the Smith Model". Essentially, the improvement is that unlike classical GGX, which only models single scattering and assumes the contribution of multiple bounces to be zero, this new model performs a random walk on the microsurface until the ray leaves it again, which ensures perfect energy conservation. In practise, this means that the "darkening problem" - GGX materials becoming darker with increasing roughness - is solved in a physically correct and efficient way. The downside of this model is that it has no (known) analytic expression for evalation. However, it can be evaluated stochastically, and although the correct PDF isn't known either, the properties of MIS and the balance heuristic guarantee an unbiased result at the cost of slightly higher noise. Reviewers: dingto, #cycles, brecht Reviewed By: dingto, #cycles, brecht Subscribers: bliblubli, ace_dragon, gregzaal, brecht, harvester, dingto, marcog, swerner, jtheninja, Blendify, nutel Differential Revision: https://developer.blender.org/D2002
2016-02-06Fix Burley BSSRDF NaNs and fireflies.Brecht Van Lommel
Explicitly truncate to Rm same way as the Gaussian BSSRDF, and use safe_sqrtf() to be sure in case of float precision issues.
2016-02-05Cleanup: Update BSSRDF code comment.Thomas Dinges
2016-02-02Cycles: Cleanup and reference actual paper used for BSSRDF samplingSergey Sharybin
2016-01-12Cycles: Use proper primitive for the motion subsurface refineSergey Sharybin
2016-01-11Cycles: Fix for SSS objects being black when combined with motion blurSergey Sharybin
2016-01-07Cycles: Whitespace cleanup, extra space in the argument listSergey Sharybin
Seems we're really starting to need to have cpplint for Cycles.
2016-01-07Cycles: Refactor how we pass bounce info to light path node.Thomas Dinges
This commit changes the way how we pass bounce information to the Light Path node. Instead of manualy copying the bounces into ShaderData, we now directly pass PathState. This reduces the arguments that we need to pass around and also makes it easier to extend the feature. This commit also exposes the Transmission Bounce Depth to the Light Path node. It works similar to the Transparent Depth Output: Replace a Transmission lightpath after X bounces with another shader, e.g a Diffuse one. This can be used to avoid black surfaces, due to low amount of max bounces. Reviewed by Sergey and Brecht, thanks for some hlp with this. I tested compilation and usage on CPU (SVM and OSL), CUDA, OpenCL Split and Mega kernel. Hopefully this covers all devices. :)
2015-12-02Cycles: Fix wrong SSS on scaled instanced objectsSergey Sharybin
Was a mistake on searching refined position form ray and hit distance. Remember kids: SSS distance is in the object space!
2015-12-02Cycles: Remove TODO, it is possible there'll be more intersections recordedSergey Sharybin
It's just only few of them will be stored in the intersection array, nothing wrong with that what's so ever.
2015-11-25Cysles: Avoid having ShaderData on the stackSergey Sharybin
This commit introduces a SSS-oriented intersection structure which is replacing old logic of having separate arrays for just intersections and shader data and encapsulates all the data needed for SSS evaluation. This giver a huge stack memory saving on GPU. In own experiments it gave 25% memory usage reduction on GTX560Ti (722MB vs. 946MB). Unfortunately, this gave some performance loss of 20% which only happens on GPU. This is perhaps due to different memory access pattern. Will be solved in the future, hopefully. Famous saying: won in memory - lost in time (which is also valid in other way around).
2014-12-25Cleanup: Fix Cycles Apache header.Thomas Dinges
This was already mixed a bit, but the dot belongs there.
2014-02-03Code cleanup: white space and cmake was broken on all platformsCampbell Barton
2013-11-18Cycles: change __device and similar qualifiers to ccl_device in kernel code.Brecht Van Lommel
This to avoids build conflicts with libc++ on FreeBSD, these __ prefixed values are reserved for compilers. I apologize to anyone who has patches or branches and has to go through the pain of merging this change, it may be easiest to do these same replacements in your code and then apply/merge the patch. Ref T37477.
2013-10-08Cycles / SSS:Thomas Dinges
* Remove the compatible falloff SSS implementation. We shouldn't support two implementations in the long term, and 2.7x is a good release number do break some compatibility as well. * Version patch added, so Files with Compatible falloff will automatically use Cubic now. It was already mentioned in the manual, that Compatible is deprecated. http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#BSSRDF
2013-09-04Fix cycles CUDA/OpenCL build error after recent change.Brecht Van Lommel
2013-08-24Fix issue in last subsurface commit with branched path tracing, was ↵Brecht Van Lommel
rendering too bright.
2013-08-24Cycles: reduce noise using regular path tracing + subsurface scattering withBrecht Van Lommel
new cubic and gaussian falloff. Like the branched path tracer, this will now shade all intersection points instead of using one at random.
2013-08-24Cycles:Thomas Dinges
* Fix Cycles using wrong AA sample values, after integrator renaming.
2013-08-18Cycles: relicense GNU GPL source code to Apache version 2.0.Brecht Van Lommel
More information in this post: http://code.blender.org/ Thanks to all contributes for giving their permission!
2013-08-18Cycles: Subsurface ScatteringBrecht Van Lommel
New features: * Bump mapping now works with SSS * Texture Blur factor for SSS, see the documentation for details: http://wiki.blender.org/index.php/Doc:2.6/Manual/Render/Cycles/Nodes/Shaders#Subsurface_Scattering Work in progress for feedback: Initial implementation of the "BSSRDF Importance Sampling" paper, which uses a different importance sampling method. It gives better quality results in many ways, with the availability of both Cubic and Gaussian falloff functions, but also tends to be more noisy when using the progressive integrator and does not give great results with some geometry. It works quite well for the non-progressive integrator and is often less noisy there. This code may still change a lot, so unless you're testing it may be best to stick to the Compatible falloff function. Skin test render and file that takes advantage of the gaussian falloff: http://www.pasteall.org/pic/show.php?id=57661 http://www.pasteall.org/pic/show.php?id=57662 http://www.pasteall.org/blend/23501
2013-08-03Cycles / SSS:Thomas Dinges
* Render Passes are now available for Subsurface Scattering (Direct, Indirect and Color pass). This is part of my GSoC project, SVN merge of r58587, r58828 and r58835.
2013-06-04Cycles:Thomas Dinges
* Revert r57203 (len() renaming) There seems to be a problem with nVidia OpenCL after this and I haven't figured out the real cause yet. Better to selectively enable native length() later, after figuring out what's wrong. This fixes [#35612].
2013-06-03Cycles / Math functions:Thomas Dinges
* Rename some math functions: len -> length len_squared -> length_squared normalize_len -> normalize_length * This way OpenCL uses its inbuilt length() function, rather than our own. The other two functions have been renamed for consistency. * Tested CPU, CUDA and OpenCL compile, should be no functional changes.
2013-05-04Fix #35207: addition to previous fix to avoid OSL getting uninitializedBrecht Van Lommel
ray differentials for lighting, which could cause bad texture filtering artifacts or performance.
2013-04-18Cycles: code refactoring to deduplicate the various BVH traversal variations.Brecht Van Lommel
Now there is a single BVH traversal code with #ifdefs for various features. At runtime it will then select the appropriate variation to use depending if instancing, hair or motion blur is in use. This makes scenes without hair render a bit faster, especially after the minimum width feature was added. It's not the most beautiful code, but we can't use c++ templates and there were already 4 copies, adding 4 more to handle the hair case separately would be too much.
2013-04-03Fix #34852: multilayer SSS material rendering different in progressive andBrecht Van Lommel
non-progressive integrator.
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