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-09-10merged the master branchsoc-2017-vertex_paintDarshan Kadu
2017-05-30Cycles: Cleanup, trailing whitespaceSergey Sharybin
2017-05-30Fix T51652: Cycles - Persistant Images not storing imagesLukas Stockner
Denoising was setting session parameters for every frame, which was detected as a change and therefore caused a resync. Since the parameter modification change is only needed for viewport rendering (which doesn't support denoising anyways) and resyncing after a frame change (which isn't affected by denoising settings), an easy fix is to just ignore the denoising parameters like it's currently done with the samples.
2017-05-26Cycles: Cleanup: Remove semicolons from line endings in Python codeLukas Stockner
2017-05-26Cycles: Update compositor when debug or denoising passes are changedLukas Stockner
2017-05-26Cycles: Cleanup: b_srlay is always used now, no more need to silence warningLukas Stockner
2017-05-24Cycles: Use falltrhough attribute to help catching missing break statementsSergey Sharybin
2017-05-24Fix T51589: Principled Subsurface Scattering, wrong shadow colorPascal Schoen
Apply mix of subsurface and base color (wrt subsurface) for rays that have transmitted the surface.
2017-05-23Fix T51592: Simplify AO Cycles setting remains active while Simplify is disabledSergey Sharybin
2017-05-22Fix T51568: CUDA error in viewport render after fix for for OpenCLSergey Sharybin
Seems re-loading module invalidates memory pointers by the looks of it, which gives an error on the next kernel call. Not sure how to move memory pointer from one CUDA module to another one, so for now simply disabling kernel re-load for CUDA devices. Not ideal, but better than failing render. Feature-selective option for CUDA is not an official feature anyway.
2017-05-21Cycles Denoising: Skip feature pass writing for volume-only shadersLukas Stockner
Volume shaders without anything connected to the surface output are treated as if they had a transparent BSDF as the surface shader in Cycles, so the denoiser should skip feature pass writing for them just as it does with an actual transparent BSDF.
2017-05-21Cycles Denoising: Skip confidence interval test for outlier central pixelsLukas Stockner
If the central pixel is an outlier, the denoiser is supposed to predict its value from the surrounding pixels. However, in some cases the confidence interval test would reject every single surrounding pixel, which leaves the model fitting with no data to work with.
2017-05-20Cycles: Cleanup, style and unused argumentsSergey Sharybin
- Some arguments were inapproriatry tagged as unused using (void)foo semantic. Only use such semantic in tricky casses, when something needs to be ignored in release builds or something is dependent on tricky ifndef policy. For rest of the cases just use void foo(int /bar*/) semantic, which ensures variable is not used. Solves confusion and code running out of sync with later development. - Used proper unused semantic to some arguments. - Added braces to make code easier to follow, tricky indentation with ifdef, uh.
2017-05-20Cycles Denoising: Prevent overfitting when using a very low radiusLukas Stockner
For example, when using a radius of 1, only 9 pixels (due to weighting maybe even less) will be used, but the transform code may still decide to use a 5-dimensional (or even higher) fit. This causes severe overfitting and therefore weird pixel values. To avoid this, this commit limits the amount of dimensions to a third of the pixel number. For a radius of 3 or more, this doesn't change anything, but for 1 and 2 it can prevent fireflies and/or negative values being produced.
2017-05-20Fix T51560: Black pixels on a denoising renderLukas Stockner
Once again, numerical instabilities causing the Cholesky decomposition to fail. However, further increasing the diagonal correction just because of a few pixels in very specific scenes and settings seems unjustified. Therefore, this commit simply falls back to the basic NLM-filtered pixel if the more advanced model fails.
2017-05-19Cycles: Reload kernels from Session when requested features changeMai Lavelle
This fixes T49496.
2017-05-19Cycles: Fix compilation error after recent changesSergey Sharybin
Spotted by Steffen Dünner, thanks@
2017-05-19Cycles: Cleanup, always use parenthesisSergey Sharybin
Easier to read/follow, and more robust for the further changes.
2017-05-19Cycles: Cleanup, indentation in preprocessorSergey Sharybin
2017-05-19Cycles: Cleanup, variable namesSergey Sharybin
Don't use camel case for variable names. Leave that for the structures.
2017-05-19Cycles: Cleanup, useless new linesSergey Sharybin
2017-05-19Cycles: Cleanup, braces after function definitionSergey Sharybin
I wouldn't mind switching fully to Google style, but i am against of mixing two different styles in same project. So just stick to brace at the new line after function definition.
2017-05-19\0;115;0cCycles: Cleanup, use ccl_restrict instead of ccl_restrict_ptrSergey Sharybin
There were following issues with ccl_restrict_ptr: - We already had ccl_restrict for all platforms. - It was secretly adding `const` qualifier to the declaration, which is quite weird since non-const pointer can also be declared as restricted. - We never in Blender are using foo_ptr or FooPtr type definitions, so not sure why we should introduce such a thing here. - It is absolutely wrong from semantic point of view to put pointer into the restrict macro -- const is a part of type, not part of hint for compiler that some pointer is never aliased.
2017-05-19Fix T51537: Light passes are summed twice for split kernel since denoise commitSergey Sharybin
Denoise commit introduced kernel_write_result() which saves light passes, so no need to call both kernel_write_result() and kernel_write_light_passes() from the split kernel. Weirdly enough. kernel_write_result() does not take care about debug passes.
2017-05-19Fix T51553: Cycles Volume Emission turns black when strength is 0 or color ↵Lukas Stockner
is black The problem was that Cycles implicitly uses a transparent surface shader when only volume nodes are used, but since the black emission shader gets optimized away, it was no longer detected and therefore no transparent surface was used. Therefore, the shader now stores whether volume nodes were connected before optimizing.
2017-05-19Fix T51506: Wrong shadow catcher color when using selective denoisingLukas Stockner
2017-05-19Cycles: Fix random noise pattern seen with multiscatter bsdf and split kernelMai Lavelle
Differentials were unset if roughness was low giving undefined behavior.
2017-05-19Fix T51555: Cycles tile count is incorrect when denoising is enabledLukas Stockner
Now rendered and denoised tiles are counted and displayed separately.
2017-05-19Fix T51502: Cycles denoising not using correctly aligned width for NLM on CUDALukas Stockner
2017-05-18Cycles Denoising: Add more robust outlier heuristic to avoid artifactsLukas Stockner
Extremely bright pixels in the rendered image cause the denoising algorithm to produce extremely noticable artifacts. Therefore, a heuristic is needed to exclude these pixels from the filtering process. The new approach calculates the 75% percentile of the 5x5 neighborhood of each pixel and flags the pixel if it is more than twice as bright. During the reconstruction process, flagged pixels are skipped. Therefore, they don't cause any problems for neighboring pixels, and the outlier pixels themselves are replaced by a prediction of their actual value based on their feature pass values and the neighboring pixels. Therefore, the denoiser now also works as a smarter despeckling filter that uses a more accurate prediction of the pixel instead of a simple average. This can be used even if denoising isn't wanted by setting the denoising radius to 1.
2017-05-18Cycles Denoising: Fix wrong order of denoising feature passesLukas Stockner
2017-05-18Cycles: Cleanup MultiGGX closure implementationLukas Stockner
The implementation originally handled four different cases: Regular glossy, glass, metallic fresnel glossy and diffuse. However, only the first two are actually used currently. Therefore, this commit removes the other two, which allows to simplify the code. Additionally, due to the Principled BSDF, the function arguments are now identical for glossy and glass, which allows to get rid of some ugly #ifdefs.
2017-05-18Cycles: Fix crash loading single channel textureSergey Sharybin
Was typo in recent isfinite check.
2017-05-18Fix T51408: Cycles - Principled BSDF Shader - Transparency is not working as ↵Pascal Schoen
expected Renamed the "Transparency" input of the Principled BSDF to "Transmission" and "Refraction Roughness" to "Transmission Roughness".
2017-05-17Cycles: Optimize expansion of headers in the sourceSergey Sharybin
Use smarter check of where the file is coming from instead of attempting to replace same source twice with different settings. Brings down processing time from 3.6sec to 1.8sec.
2017-05-17Fix compilation error in CyclesSergey Sharybin
Was caused by recent fix with finite checks. Fixes T51536.
2017-05-17Fix T51529: Black boxes on a denoising render when using a .exr image as a ↵Sergey Sharybin
environmental texture It is caused by NaN value in the input texture. Now we check for all the pixels having proper finite values. Should also help here in the studio,
2017-05-17Revert "Cycles: Fix wrong shading on GPU when background has NaN pixels and ↵Sergey Sharybin
MIS enabled" This reverts commit 581c81901363176b1ce775472ea7c9f97ee504a9. Seems we do need to do finite check early on, this is incoming.
2017-05-17Fix T50937: baking with OpenCL and CPU have slightly different brightnessHristo Gueorguiev
OpenCL baking with SSS and Volume are not supported.
2017-05-16Cycles: Fix building with native only optionMai Lavelle
Approach suggested by Lukas S.
2017-05-16Revert "Cycles: Fix native only kernel since denoiser commit"Mai Lavelle
Fix didn't work in debug mode due to undefined references. This reverts commit 53195715119e294e1a0d89831ebab716c9f7fee6.
2017-05-15Cycles: Fix native only kernel since denoiser commitSergey Sharybin
2017-05-15Fix T49324: True displacement crashes when shader returns NaNSergey Sharybin
2017-05-13Fix T51314: crash cancelling Cycles bake during scene sync and update.Brecht Van Lommel
2017-05-11Cycles: fix AO approximation for split kernelHristo Gueorguiev
2017-05-11Cycles: Fix occasional black pixels from denoising with excessive radiiLukas Stockner
Numerical inaccuracies would cause the XtWX matrix to be no longer positive-semidefinite, which in turn caused the LSQ solver to fail.
2017-05-09Cycles: Use more stable version of integer square root functionSergey Sharybin
Old code was working quite unreliable in combination with fast math flag, especially when compiling with Clang. It seems we were hitting result of the following bug submitted to Clang [1]. Basically, it was happening so that (int)sqrtf(64) was 7 when Cycles is built with Clang but was correct 8 when built with GCC. This commit works this around. Annoying, but don't see other way to keep sampling pattern the same for Clang and GCC. [1] https://bugs.llvm.org//show_bug.cgi?id=24063
2017-05-09Cycles: Properly free memory used by KernelGlobalsSergey Sharybin
Previous logic did not free memory used by vector classes which were storing images, causing memory leaks.
2017-05-09Fix denoiser tooltipJens Verwiebe
2017-05-09Cycles: Enable BPT for NVidia OpenCLSergey Sharybin