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-12-07Merge branch 'master' into blender2.8Campbell Barton
2017-12-06Eevee: Fix sampling direction calculation.Clément Foucault
It was causing problems with the visibility filtering on Intel GPU.
2017-12-04Eevee: CodeStyle: Separate Shader initialization.Clément Foucault
2017-12-04Eevee: Irradiance Grid: Allocate needed resources instead of a static chunck.Clément Foucault
This commit makes the irradiance pool and render target sizes depend on the number of irradiance sample in the whole ViewLayer.
2017-12-04Eevee: Irradiance Visibility: Initial ImplementationClément Foucault
This augment the existing irradiance grid with a new visibility precomputation. We store a small shadowmap for each grid sample so that light does not leak through walls and such. The visibility parameter are similar to the one used by the Variance Shadow Map for point lights. Technical details: We store the visibility in the same texture (array) as the irradiance itself (in order to reduce the number of sampler). But the irradiance and the visibility are not the same data so we must encode them in order to use the same texture format. We use RGBA8 normalized texture and encode irradiance as RGBE (shared exponent). Using RGBE encoding instead of R11_G11_B10 may lead to some lighting changes, but quality seems to be nearly the same in my test cases. Using full RGBA16/32F maybe a future option but that will require much more memory and reduce the perf significantly. Visibility moments (VSM) are encoded as 16bits fixed point precision using a special range. This seems to retain enough precision for the needs. Also interpolation does not seems to be big problem (even though it's incorrect).
2017-12-04Eevee: Irradiance Visibility: Add RNA / Engine propertiesClément Foucault
2017-12-04Eevee: Irradiance Grid: Fix problem with bounce update.Clément Foucault
Before this patch, if one of the grid was updated (moved) only the subsequents evaluated grids had their level reset and had all their bounces recomputed.
2017-12-04Eevee: Irradiance Grid: Fix Multibounce baking.Clément Foucault
The baking was only recording one bounce because the double buffer setup was buggy.
2017-12-04Cleanup: whitespaceCampbell Barton
2017-12-01Draw Maganer: Cleanup: Remove unnecessary lines of code in ↵Germano
draw_cache_impl_metaball.c
2017-12-01Depsgraph: Cleanup, namingSergey Sharybin
It makes more sense to stick to DEG_iterator_object order in name, since we can have functions to iterate over different entities and we want all of them to have common prefix.
2017-11-29Eevee: Fix default shader.Clément Foucault
2017-11-29Draw manager: Cleanup, use lower case prefix for private functionsSergey Sharybin
2017-11-29External engine: Cleanup, use lower case prefix for private functionsSergey Sharybin
2017-11-29Eevee engine: Cleanup, use lower case prefix for private functionsSergey Sharybin
2017-11-29Clay engine: Cleanup, use lower case prefix for private functionsSergey Sharybin
2017-11-29Basic engine: Cleanup, use lower case prefix for private functionsSergey Sharybin
2017-11-29Eevee: Cleanup, avoid unneeded gotoSergey Sharybin
Ideally this also should be split into smaller functions, but will leave that for later a bit.
2017-11-29Eevee: Cleanup, split long probe refresh functionSergey Sharybin
There is no reason to have such a long function, it is really easy to break it down into a smaller ones, and call them from where needed. Makes them smaller and easier to follow. Also avoids use of confusing goto's.
2017-11-29Eevee: Cleanup, avoid too much nested indentationSergey Sharybin
Just do early `continue`, makes code easier to follow than fewzillion of nested checks and loops and everything.
2017-11-29Eevee: Stop depsgraph update callback form allocating unneeded memorySergey Sharybin
2017-11-29Draw manager: Cleanup, namingSergey Sharybin
Similar to previous commit in Eevee.
2017-11-29Eevee: Cleanup, namingSergey Sharybin
For functions which will allocate requested data if it does not exist yet "_ensure" is to be used instead of "_get". "_get" functions should return NULL in cases when requested data does not exist yet.
2017-11-29Draw manager: Cleanup, indentation in preprocessorSergey Sharybin
2017-11-29Draw manager: Listen to depsgraph's ID update callbacksSergey Sharybin
This replaces dedicated flag which wasn't clean who sets it and who clears it, and which was also trying to re-implement existing functionality in a way. Flushing is not currently very efficient but there are ways to speed this up a lot, but needs more investigation.
2017-11-29Eevee: Set engine data needs update to false when everything is up to dateSergey Sharybin
Currently this shouldn't cause any differences, but is required for the upcoming changes in informing draw engines about changes.
2017-11-28Draw manager: Pass explicit context to DEG scene update callbackSergey Sharybin
This way it is more clear what is needed to be passed and what is available in the callback itself. Thanks Dalai for review and tips about engine type!
2017-11-28Cleanup: namingSergey Sharybin
2017-11-28Cleanup, naming of engine type variableSergey Sharybin
2017-11-25Eevee: Fix Defered AO definesClément Foucault
2017-11-25Eevee: Fix SSS mixing with transparent bsdfClément Foucault
2017-11-25Eevee: Add SSS support in probesClément Foucault
Previously the lighting of SSS material was not present in reflection probe or irradiance grid. This does not compute the SSS correctly but at least output the corresponding irradiance power to the correct output.
2017-11-25Eevee: SSS: Add separated Albedo option.Clément Foucault
This option prevent from automatically blurring the albedo color applied to the SSS. While this is great for preserving details it can bleed more light onto the nearby objects since the blurring will be done on pure "white" irradiance. This issue is to be tackled in a separate commit.
2017-11-24Eevee: Fix SSR adding too much light.Clément Foucault
Basically the probes were rendered twice.
2017-11-24Eevee: Refactor of lit_surface_frag.glslClément Foucault
This cleanup removes the need of gigantic code duplication for each closure. This also make some preformance improvement since it removes some branches and duplicated loops. It also fix some mismatch (between cycles and eevee) with the principled shader.
2017-11-23Rename any instance of scene layer or render layer in code with view layerDalai Felinto
The RenderResult struct still has a listbase of RenderLayer, but that's ok since this is strictly for rendering. * Subversion bump (to 2.80.2) * DNA low level doversion (renames) - only for .blend created since 2.80 started Note: We can't use DNA_struct_elem_find or get file version in init_structDNA, so we are manually iterating over the array of the SDNA elements instead. Note 2: This doversion change with renames can be reverted in a few months. But so far it's required for 2.8 files created between October 2016 and now. Reviewers: campbellbarton, sergey Differential Revision: https://developer.blender.org/D2927
2017-11-22Eevee : Fix error with volumetrics.Clément Foucault
2017-11-22Eevee : SSS : Add Translucency support.Clément Foucault
This adds the possibility to simulate things like red ears with strong backlight or material with high scattering distances. To enable it you need to turn on the "Subsurface Translucency" option in the "Options" tab of the Material Panel (and of course to have "regular" SSS enabled in both render settings and material options). Since the effect is adding another overhead I prefer to make it optional. But this is open to discussion. Be aware that the effect only works for direct lights (so no indirect/world lighting) that have shadowmaps, and is affected by the "softness" of the shadowmap and resolution. Technical notes: This is inspired by http://www.iryoku.com/translucency/ but goes a bit beyond that. We do not use a sum of gaussian to apply in regards to the object thickness but we precompute a 1D kernel texture. This texture stores the light transmited to a point at the back of an infinite slab of material of variying thickness. We make the assumption that the slab is perpendicular to the light so that no fresnel or diffusion term is taken into account. The light is considered constant. If the setup is similar to the one assume during the profile baking, the realtime render matches cycles reference. Due to these assumptions the computed transmitted light is in most cases too bright for curvy objects. Finally we jitter the shadow map sample per pixel so we can simulate dispersion inside the medium. Radius of the dispersion is in world space and derived by from the "soft" shadowmap parameter. Idea for this come from this presentation http://www.iryoku.com/stare-into-the-future (slide 164).
2017-11-20Cleanup: line length, right shiftCampbell Barton
2017-11-20Cleanup: BLI headers firstCampbell Barton
Also move descriptions into doxy header
2017-11-19Eevee : Fix bug with SSS and SSR active node selectionClément Foucault
The bug was affecting the ability to correctly edit the expected SSS profile.
2017-11-17Cleanup: warningsCampbell Barton
2017-11-16Fix T51210: Draw Manager: Support for Metaball DrawingGermano
Differential Revision: D2914
2017-11-14Eevee: SSS: Fix SSS with Add Shader node.Clément Foucault
2017-11-14Eevee: Add SSS objects to probe rendering.Clément Foucault
This does NOT do the SSS diffusion when rendering probe but at least you can see your object without SSS in reflections / bounce light.
2017-11-14Fix Opengl Error with glBlitFramebufferClément Foucault
This was caused by 93936b8643b9c4f77fe13d35b41ecaa246843dd8 From GL spec : GL_INVALID_OPERATION is generated if mask contains GL_DEPTH_BUFFER_BIT or GL_STENCIL_BUFFER_BIT and the source and destination depth and stencil formats do not match. So blitting framebuffer with depth or stencil require the SAME FORMAT.
2017-11-14Cleanup: remove BLI_blenlib from ghash headerCampbell Barton
This causes source files to depend on ghash header for BLI_string/rect/listbase. Also quiet warnings.
2017-11-14Eevee: SSS: Add Quality settings.Clément Foucault
Samples : pretty self explanatory. Jitter Threshold : Reduce cache misses and improve performance (greatly) by lowering this value. This settings let user decide how many samples should be jittered (rotated) to reduce banding artifacts.
2017-11-14Eevee: Initial Separable Subsurface Scattering implementation.Clément Foucault
How to use: - Enable subsurface scattering in the render options. - Add Subsurface BSDF to your shader. - Check "Screen Space Subsurface Scattering" in the material panel options. This initial implementation has a few limitations: - only supports gaussian SSS. - Does not support principled shader. - The radius parameters is baked down to a number of samples and then put into an UBO. This means the radius input socket cannot be used. You need to tweak the default vector directly. - The "texture blur" is considered as always set to 1
2017-11-14DRW: Better stencil support.Clément Foucault
A stencil mask is now assigned to each shading group and the stencil test is defined like the depth test via the DRW_STATE_* defines.