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: Expose diffuse and glossy depth to Light Path nodeSergey Sharybin
Was a bit confusing to have transparent and translucent depth exposed but no diffuse or glossy. Reviewers: brecht Subscribers: eyecandy Differential Revision: https://developer.blender.org/D2399
2017-01-20Cycles: Implement texture coordinates for Point, Spot and Area LampsLukas Stockner
When using the Normal output of the Texture Coordinate node on Point and Spot lamps, the coordinates now depend on the rotation of the lamp. On Area lamps, the Parametric output of the Geometry node now returns UV coordinates on the area lamp. Credit for the Area lamp part goes to Stefan Werner (from D1995).
2016-10-19Fix Cycles CUDA performance on CUDA 8.0.Brecht Van Lommel
Mostly this is making inlining match CUDA 7.5 in a few performance critical places. The end result is that performance is now better than before, possibly due to less register spilling or other CUDA 8.0 compiler improvements. On benchmarks scenes, there are 3% to 35% render time reductions. Stack memory usage is reduced a little too. Reviewed By: sergey Differential Revision: https://developer.blender.org/D2269
2016-09-02Cycles: Silence strict compiler warning in release buildSergey Sharybin
2016-09-02Cycles microdisplacement: Improved automatic bump mappingMai Lavelle
Object coordinates can now be used in the displacement shader and will give correct results, where as before bump mapping was calculated from the displace positions and resulted in incorrect shading. This works by evaluating the shader in two parts, first bump then surface, and setting the shader state to match what it would be if the surface was undisplaced for the bump shader evaluation. Currently only `P` is set as if undisplaced, but other shader variables could be set as well, such as `I` or `time`. Since these aren't set to anything meaningful for displacement I left them out of this patch, we can decide what to do with them separately. Reviewed By: brecht Differential Revision: https://developer.blender.org/D2156
2016-08-31Cycles: don't crash if OSLRenderServices::osl_ts is unsetMai Lavelle
2016-08-06Cycles: Add AttributeDescriptorMai Lavelle
Adds a descriptor for attributes that can easily be passed around and extended to contain more data. Will be used for attributes on subdivision meshes. Reviewed By: brecht Differential Revision: https://developer.blender.org/D2110
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-07-29Cycles microdisplacement: ngons and attributes for subdivision meshesMai Lavelle
This adds support for ngons and attributes on subdivision meshes. Ngons are needed for proper attribute interpolation as well as correct Catmull-Clark subdivision. Several changes are made to achieve this: - new primitive `SubdFace` added to `Mesh` - 3 more textures are used to store info on patches from subd meshes - Blender export uses loop interface instead of tessface for subd meshes - `Attribute` class is updated with a simplified way to pass primitive counts around and to support ngons. - extra points for ngons are generated for O(1) attribute interpolation - curves are temporally disabled on subd meshes to avoid various bugs with implementation - old unneeded code is removed from `subd/` - various fixes and improvements Reviewed By: brecht Differential Revision: https://developer.blender.org/D2108
2016-07-11Cycles: Move BVK kernel files to own directorySergey Sharybin
BVH traversal is not really that much a geometry and we've got quite some traversals now. Makes sense to keep them separate in the name of source structure clarity.
2016-07-03Fix T48783: OSL render errors after recent refactoring.Brecht Van Lommel
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-05-22Code refactor: add generic Cycles node infrastructure.Brecht Van Lommel
Differential Revision: https://developer.blender.org/D2016
2016-05-20Cycles: Fix long compile time with MSVC.Thomas Dinges
Compile time per kernel increased alot after recent image commits, re-shuffle some code to fix this. Patch by "LazyDodo". Differential Revision: https://developer.blender.org/D2012
2016-03-25Cycles: Cleanup, indent nested preprocessor directivesSergey Sharybin
Quite straightforward, main trick is happening in path_source_replace_includes(). Reviewers: brecht, dingto, lukasstockner97, juicyfruit Differential Revision: https://developer.blender.org/D1794
2016-02-13Cleanup: Remove some OIIO code for versions prior to 1.5.Thomas Dinges
2016-02-11Cycles: Remove some ifdefs for OSL < 1.7.1.Thomas Dinges
That means that we now only support OSL 1.7.1 or newer. Please update libs or re-run install-depsh.sh.
2016-02-06Cleanup: Remove support for OSL versions < 1.6.Thomas Dinges
We can get rid of more ifdefs once all platforms are on OSL 1.7 soon.
2016-02-04Cycles: Implement approximate reflectance profilesSergey Sharybin
Using this paper: http://graphics.pixar.com/library/ApproxBSSRDF/paper.pdf This model gives less blurry results than the Cubic and Gaussian we had implemented: - Cubic: https://developer.blender.org/F279670 - Burley: https://developer.blender.org/F279671 The model is called "Christensen-Burley" in the interface, which actually should be read as "Physically based" or "Realistic". Reviewers: juicyfruit, dingto, lukasstockner97, brecht Reviewed By: brecht, dingto Subscribers: robocyte Differential Revision: https://developer.blender.org/D1759
2016-02-03Cycles: Cleanup, indentationSergey Sharybin
Not sure why it was mixed tabs and spaces, it's all just confusing in different editors.
2016-01-07Cycles: Update some API to be ready for OSL 1.6Sergey Sharybin
While previous code was already compiling with OSL 1.6 it was using some symbols which were considered deprecated in upstream. This commit adds some ifdefs, but soon we'll get rid of all them rather soon with the upcoming OIIO/OSL update.
2016-01-07Cycles: Update some types used form OSLSergey Sharybin
Some types were deprecated back in 2013, better to be prepared earlier for those types being removed from upstream.
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. :)
2016-01-06Cycles: Fix possible buffer overflow in OIIO cache error messageSergey Sharybin
2016-01-06Fix T47120: CPU OSL Cycles crashes blender in latest GITSergey Sharybin
The issue was caused by leaking error messages caused by getting OIIO texture handle for built-in images.
2016-01-04Remove SCons building systemSergey Sharybin
While SCons building system was serving us really good for ages it's no longer having much attention by the developers and started to become quite a difficult task to maintain. What's even worse -- there started to be quite serious divergence between SCons and CMake which was only accumulating over the releases now. The fact that none of the active developers are really using SCons and that our main studio is also using CMake spotting bugs in the SCons builds became quite a difficult task and we aren't always spotting them in time. Meanwhile CMake became really mature building system which is available on every platform we support and arguably it's also easier and more robust to use. This commit includes: - Removal of actual SCons building system - Removal of SCons git submodule - Removal of documentation which is stored in the sources and covers SCons - Tweaks to the buildbot master to stop using SCons submodule (this change requires deploying to the server) - Tweaks to the install dependencies script to skip installing or mentioning SCons building system - Tweaks to various helper scripts to avoid mention of SCons folders/files as well Reviewers: mont29, dingto, dfelinto, lukastoenne, lukasstockner97, brecht, Severin, merwin, aligorith, psy-fi, campbellbarton, juicyfruit Reviewed By: campbellbarton, juicyfruit Differential Revision: https://developer.blender.org/D1680
2015-12-18Cycles: Log OSL texture system statistics after finishing the renderSergey Sharybin
2015-12-18Cycles: Implement proper texture derivatives evaluation for OSLSergey Sharybin
This was an oldie TODO since initial work on newer OSL/OIIO support. Now we should be ready for the libraries bump.
2015-10-26Cleanup: Avoid some warnings on OS X with clang and update comment.Thomas Dinges
2015-10-10Fix various compiler warnings.Brecht Van Lommel
2015-10-05Cycles: Add some TODO comments about derivativesSergey Sharybin
2015-10-05Cycles: Fix for builtin textures when linking against OSL 1.6.8Sergey Sharybin
Issue was caused by changed function signature. This is still not really full support of new OSL API since we don't store anything in the derivatives which could confuse mipmapping.
2015-09-23Cycles: Support building with latest OSL-1.7devSergey Sharybin
So now the following OSL versions are supported (at least for compilation): - 1.5 with closure alignment patch applied - 1.6.8 release - 1.7 development version from latest git
2015-09-03Cycles: Fix missing packed images with newer versions of OSLSergey Sharybin
This isn't really complete fix, complete fix would require calculating derivatives via OIIO API, but supporting this will either end up with some code duplication or will require some non really safe changes at this release cycle.
2015-06-13Cycles: Silent paranoid uninitialized GCC warnings in release kernelsSergey Sharybin
2015-05-09Cycles: Add CPU compat headers to some of the OSL implementation filesSergey Sharybin
This header was already included into some of the implementation files already, and this change is needed for some upcoming changes in the way how kernel_types.h works.
2015-04-26Cleanup: Code style.Thomas Dinges
2015-04-06Cycles: Cleanup, spaces around assignment operatorSergey Sharybin
Did some bad spacing in recent commits, better to get rid of those so they does not confuse those who're working on sources.
2015-04-06Cycles: Avoid doing paranoid checks in filepath of builtin imagesSergey Sharybin
Originally we thought it's needed in order to distinguish builtin file from filename which starts with '@', but the filepath is actually full path there and it's unlikely to have file system where '@' is a proper root character. Surprisingly this does not give visible speed differences, but it's still nice to get rid of redundant check.
2015-04-06Cycles: Support bultin 3d textures with OSL backendSergey Sharybin
2015-03-30Cycles: Attempt to fix osl+scons compilationSergey Sharybin
Defines (and other cflags) are not inherited by scons to the subdirectories, need to take care of them in all nested SConscripts.
2015-03-27Cycles: Code cleanup, spaces around keywordsSergey Sharybin
This inconsistency drove me totally crazy, it's really confusing when it's inconsistent especially when you work on both Cycles and Blender sides. Shouldn;t cause merge PITA, it's whitespace changes only, Git should be able to merge it nicely.
2015-03-25Fix T44123: Cycles SSS renders black in recent buildsSergey Sharybin
Issue was introduced in 01ee21f where i didn't notice *_setup() function only doing partial initialization, and some of parameters are expected to be initialized by callee function. This was hitting only some setups, so tests with benchmark scenes didn't unleash issues. Now it should all be fine. This is to go to the 2.74 branch and we actually might re-AHOY.
2015-02-18Cleanup for Cycles hair shader ifdefs.Thomas Dinges
sc->T and sc->data2 were behind __HAIR__ ifdef, now they are not anymore, so we can always assign the correct value.
2015-02-02Cycles: OSL kernel now also ignores maybe-uninitializedSergey Sharybin
This is a bit of a mess because of the header dependency hell, but since the tweak is small enough it's gonna be fine.
2014-12-31Cycles: Post-reintegration tweaks to ensure things do compileSergey Sharybin
This commit contains all the tweaks which were missing in initial patch re-integration from the standalone Cycles repository. This commit also contains an utility cmake macro to help linking targets with different libraries for release/debug builds, the name currently is target_link_libraries_decoupled it gets a target and list of libraries and makes sure debug builds are using libraries with "_d" suffix. After all this changes it'll hopefully be easier to interchange patches between blender and standalone repositories, because they're now quite identical.
2014-12-31Cycles: Be ready for gflags namespace auto-detectSergey Sharybin
This way it is now possible to use gflags >= 2.1, where all the functions were moved from google to gflags namespace. This isn't currently used in blender, but for standalone repository this change is essential.
2014-12-25Cleanup: Fix Cycles Apache header.Thomas Dinges
This was already mixed a bit, but the dot belongs there.
2014-12-03Cycles: Synchronize SCons with CMake in regard of loggingSergey Sharybin
2014-12-03Cycles: Use 16 bytes aligned closures in OSLSergey Sharybin
This solves bugs like T42210 which are caused by compiler being smart and using some SSE instructions to operate with closure classes, which was failing because those classes are not allocated by the regular allocator but allocated in memory pool in OSL. With newer versions of OSL it is now possible to force closure classes being aligned to a given boundary and this commit uses this new functionality. Unfortunately, it means we're no longer compatible with older versions of OSL, only latest git version from upstream and our branch at github are supported: https://github.com/Nazg-Gul/OpenShadingLanguage/tree/blender-fixes For OSX and Windows it's not an issue because libraries are already updated there, Linux users would need to run install_deps script.