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
path: root/intern
AgeCommit message (Collapse)Author
2014-06-17Cycles: only use -fno-rtti with OSL (conflicts with -fsanitize=vptr)Campbell Barton
2014-06-16Cycles: Slight modification to the previous commitSergey Sharybin
This way util_simd.cpp would not require modifications if/when SSE2 is suddenly supported on 32bit platforms. This also allowed to unleash some issues with util_simd.h related on the fact that there size_t and int are actually the same types.
2014-06-16Cycles: Fix compilation error on 32bit platformsSergey Sharybin
2014-06-16Cycles: Fix compilation error on platforms without SSE2Sergey Sharybin
2014-06-16I'd tend to declare dead code is forbiddenSergey Sharybin
All this code blocks commented out with UNUSED comment are really useless.
2014-06-15* Fix OpenCL after uchar4 commit.Thomas Dinges
2014-06-14Fix for last commit, forgot changes in Cycles itself.Thomas Dinges
2014-06-14Fix T40609: Wrong WS between word and '?' (no space in english typography in ↵Bastien Montagne
those cases).
2014-06-14Cycles: glossy and anisotropic BSDF changesBrecht Van Lommel
* Anisotropic BSDF now supports GGX and Beckmann distributions, Ward has been removed because other distributions are superior. * GGX is now the default distribution for all glossy and anisotropic nodes, since it looks good, has low noise and is fast to evaluate. * Ashikhmin-Shirley is now available in the Glossy BSDF.
2014-06-14Cycles: internal code support for anisotropic Beckmann and GGX reflectionBrecht Van Lommel
Based on: Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs E. Heitz, Research Report 2014
2014-06-14Cycles: Ashikhmin-Shirley anisotropic BSDFKarsten Schwenk
* Ashikhmin-Shirley anisotropic BSDF was added as closure * Anisotropic BSDF node now has two distributions Reviewers: brecht, dingto Differential Revision: https://developer.blender.org/D549
2014-06-14Cycles: improved importance sampling for Beckmann and GGX glossyBrecht Van Lommel
Samples render slower than before, but hopefully this is made up for with reduced noise in most cases. The main slowdown comes from samples that would previously be wasted and turn out black, which are now continued. GGX sampling is about the same speed as before, while for Beckmann it is slower still. Perhaps optimizations are still possible there, but didn't find anything easy. Code from this paper, which comes with sample code: Importance Sampling Microfacet-Based BSDFs using the Distribution of Visible Normals. E. Heitz and E. d'Eon, EGSR 2014 Differential Revision: https://developer.blender.org/D572
2014-06-14Cycles: volume sampling method can now be set per material/world.Brecht Van Lommel
This gives you "Multiple Importance", "Distance" and "Equiangular" choices. What multiple importance sampling does is make things more robust to certain types of noise at the cost of a bit more noise in cases where the individual strategies are always better. So if you've got a pretty dense volume that's lit from far away then distance sampling is usually more efficient. If you've got a light inside or near the volume then equiangular sampling is better. If you have a combination of both, then the multiple importance sampling will be better.
2014-06-14Cycles: volume light samplingBrecht Van Lommel
* Volume multiple importace sampling support to combine equiangular and distance sampling, for both homogeneous and heterogeneous volumes. * Branched path "Sample All Direct Lights" and "Sample All Indirect Lights" now apply to volumes as well as surfaces. Implementation note: For simplicity this is all done with decoupled ray marching, the only case we do not use decoupled is for distance only sampling with one light sample. The homogeneous case should still compile on the GPU because it only requires fixed size storage, but the heterogeneous case will be trickier to get working.
2014-06-14Cycles code refactor: move some surface and volume path code to separate files.Brecht Van Lommel
2014-06-14Cycles code refactor: deduplicate and symmetrize some path tracing code.Brecht Van Lommel
2014-06-14Cycles code refactor: minor changes to light emission code.Brecht Van Lommel
2014-06-14Fix compilation in cyclesAntony Riakiotakis
2014-06-14Code cleanup: Avoid duplicate functions for vector combination/separation in ↵Thomas Dinges
SVM. Differential Revision: https://developer.blender.org/D597
2014-06-14Quiet warning in CyclesCampbell Barton
2014-06-14Comment unused macroCampbell Barton
2014-06-14Cycles: Add support for uchar4 attributes.Thomas Dinges
* Added support for uchar4 attributes to Cycles' attribute system. * This is used for Vertex Colors now, which saves some memory (4 unsigned characters, instead of 4 floats). * GPU Texture Limit on sm_20 and sm_21 decreased from 95 to 94, because we need a new texture for the uchar4 attributes. This is no problem for sm_30 or newer. Part of my GSoC 2014.
2014-06-14Attempt to fix sign conversion error happening on buildbotSergey Sharybin
2014-06-14Follow up for previous commit: need to tweak args for scons as wellSergey Sharybin
2014-06-14Cycles: Fix compilation error of AVX2 kernel with GCC/ClangSergey Sharybin
2014-06-14Code cleanup.Thomas Dinges
2014-06-14Cycles: Add an AVX2 CPU kernel.Thomas Dinges
This kernel is compiled with AVX2, FMA3, and BMI compiler flags. At the moment only Intel Haswell benefits from this, but future AMD CPUs will have these instructions as well. Makes rendering on Haswell CPUs a few percent faster, only benchmarked with clang on OS X though. Part of my GSoC 2014.
2014-06-13Cycles: Add dedicated nodes to split/combine vectors.Thomas Dinges
This was already possible via the RGB nodes, but that seems weird.
2014-06-13Cycles: Calculate face normal on the fly.Thomas Dinges
Instead of pre-calculation and storage, we now calculate the face normal during render. This gives a small slowdown (~1%) but decreases memory usage, which is especially important for GPUs, where you have limited VRAM. Part of my GSoC 2014.
2014-06-13Cycles Refactor: Add SSE Utility code from Embree for cleaner SSE code.Thomas Dinges
This makes the code a bit easier to understand, and might come in handy if we want to reuse more Embree code. Differential Revision: https://developer.blender.org/D482 Code by Brecht, with fixes by Lockal, Sergey and myself.
2014-06-13Attempt to fix guardedalloc on OSXSergey Sharybin
2014-06-13Use advantage of SSE2 instructions in gaussian blur nodeSergey Sharybin
This gives around 30% of speedup for gaussian blur node. Pretty much straightforward implementation inside the node itself, but needed to implement some additional things: - Aligned malloc. It's needed to load data onto SSE registers faster. based on the aligned_malloc() from Libmv with some additional trickery going on to support arbitrary alignment (this magic is needed because of MemHead). In the practice only 16bit alignment is supported because of the lack of aligned malloc with arbitrary alignment for OSX. Not a bit deal for now because we need 16 bytes alignment at this moment only. Could be tweaked further later. - Memory buffers in compositor are now aligned to 16 bytes. Should be harmless for non-SSE cases too. just mentioning. Reviewers: campbellbarton, lukastoenne, jbakker Reviewed By: campbellbarton CC: lockal Differential Revision: https://developer.blender.org/D564
2014-06-13Code cleanup: use const for mouse location argCampbell Barton
2014-06-13Code cleanup: remove NULL checkCampbell Barton
2014-06-13Cycles: Support builtin images for OSL shading backendSergey Sharybin
This means packed images and movies are now supported when using OSL backend for material shading. Uses special file name to distinguish whether image is builtin or not. This part might become a bit smarted or optimized a bit, but it's good enough with this implementation already.
2014-06-12Bake-API: Set Custom Cage to be Cage ObjectDalai Felinto
Suggestion by Andy Davies (metalliandy) to conform with industry standard (custom cage is something else apparently) Note: this is the last bake related commit I plan for 2.71/rc (unless everyone agrees that we could squeeze in D546 - custom UVs, which would be really nice to add for 2.71 scripters) Note 2: I'll update the wiki docs shortly
2014-06-11Fix T40561: cycles refraction node with sharp distribution gives black.Brecht Van Lommel
2014-06-11Bake-API: new approach for cageDalai Felinto
There is a new option to select whether you want to use cage or not. When not using cage the results will be more similar with Blender Internal, where the inwards rays (trying to hit the highpoly objects) don't always come from smooth normals. So if the active object has sharp edges and an EdgeSplit modifier you get bad corners. This is useful, however, to bake to planes without the need of adding extra loops around the edges. When cage is "on" the user can decide on setting a cage extrusion or to pick a Custom Cage object. The cage extrusion option works in a duplicated copy of the active object with EdgeSplit modifiers removed to inforce smooth normals. The custom cage option takes an object with the same number of faces as the active object (and the same face ordering). The custom cage now controls the direction and the origin of the rays casted to the highpoly objects. The direction is a ray from the point in the cage mesh to the equivalent point to the base mesh. That means the face normals are entirely ignored when using a cage object. For developers: When using an object cage the ray is calculated from the cage mesh to the base mesh. It uses the barycentric coordinate from the base mesh UV, so we expect both meshes to have the same primitive ids (which won't be the case if the cage gets edited in a destructive way). That fixes T40023 (giving the expected result when 'use_cage' is false). Thanks for Andy Davies (metalliandy) for the consulting with normal baking workflow and extensive testing. His 'stress-test' file will be added later to our svn tests folder. (The file itself is not public yet since he still has to add testing notes to it). Many thanks for the reviewers. More on cages: http://wiki.polycount.com/NormalMap/#Working_with_Cages Reviewers: campbellbarton, sergey CC: adriano, metalliandy, brecht, malkavian Differential Revision: https://developer.blender.org/D547
2014-06-09Fix cycles CUDA error when trying to use >= 100 image textures.Brecht Van Lommel
2014-06-07OSX: Ideasman does not like using utsname, so i use the always ↵Jens Verwiebe
satisfactorily working sysctl method now for runtime OS detection
2014-06-06Fix T40514: Cycles world MIS segfaultCampbell Barton
2014-06-06Fix T40370: cycles CUDA baking timeout with high number of AA samples.Brecht Van Lommel
Now baking does one AA sample at a time, just like final render. There is also some code for shader antialiasing that solves T40369 but it is disabled for now because there may be unpredictable side effects.
2014-06-06Fix T40282: Renaming node sockets in Cycles nodes causes crash.Lukas Tönne
Cycles expects to find all node sockets with their correct names, but this can be changed via the API (see bug report discussion). Solution for now is to let cycles accept this case gracefully instead of crashing. The shader will simply use the internal default values for inputs and any connections will be ignored. Would be nice to report the error somewhere, but cycles doesn't have a proper logging system for this purpose yet.
2014-06-06Code cleanup: styleCampbell Barton
2014-06-06OSX: replace deprecated (10.8 ) Gestalt function with utsname, no functional ↵Jens Verwiebe
change
2014-06-05Fix T40228: cycles CUDA multi GPU + world MIS giving error.Brecht Van Lommel
2014-06-05Fix T40429: cycles CUDA + use persistent images problem.Brecht Van Lommel
2014-06-05Fix T40482: Cycles matlib file crashesSergey Sharybin
it's possible that runtime optimizer would call get_attribute with NULL renderstate. As per documentation, it's valid to return false in that cases and in worst case we'll just miss some possible optimization. Supporting such cases would require some bigger changes to Cycles since attributes are only set to up for the kernel after shader compilation. Thanks Brecht for review!
2014-06-04Fix T40456: cycles bug with branched path + sss + no sample all direct lights.Brecht Van Lommel
2014-06-02Fix compilation on unofficial 64bit archsMatteo F. Vescovi