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
2020-06-24Fix T77672 EEVEE: Reflections with reflection plane broken (regression)Clément Foucault
2020-06-02EEVEE: Refactor of eevee_material.cClément Foucault
These are the modifications: -With DRW modification we reduce the number of passes we need to populate. -Rename passes for consistent naming. -Reduce complexity in code compilation -Cleanup how renderpass accumulation passes are setup, using pass instances. -Make sculpt mode compatible with shadows -Make hair passes compatible with SSS -Error shader and lookdev materials now use standalone materials. -Support default shader (world and material) using a default nodetree internally. -Change BLEND_CLIP to be emulated by gpu nodetree. Making less shader variations. -Use BLI_memblock for cache memory allocation. -Renderpasses are handled by switching a UBO ref bind. One major hack in this patch is the use of modified pointer as ghash keys. This rely on the assumption that the keys will never overlap because the number of options per key will never be bigger than the pointed struct. The use of one single nodetree to support default material is also a bit hacky since it won't support concurent usage of this nodetree. (see EEVEE_shader_default_surface_nodetree) Another change is that objects with shader errors now appear solid magenta instead of shaded magenta. This is only because of code reuse purpose but could be changed if really needed. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D7642
2020-05-28Cleanup: DRW: Remove array suffix from uniform nameClément Foucault
2020-03-19Cleanup: `make format` after SortedIncludes changeDalai Felinto
2020-03-14Cleanup: spellingCampbell Barton
2020-03-11EEVEE: Replace octahedron reflection probe by cubemap arrayClément Foucault
We implement cubemap array support for EEVEE's lightcache reflection probes. This removes stretched texels and bottom hemisphere seams artifacts caused by the octahedral projection previously used. This introduce versioning code for the lightcache which will discard any lightcache version that is not compatible. Differential Revision: https://developer.blender.org/D7066
2020-03-09Cleanup: Replace ABS/SQUARE/CUBE with function callsSergey Sharybin
While it might be handy to have type-less functionality which is similar to how C++ math is implemented it can not be easily achieved with just preprocessor in a way which does not have side-effects on wrong usage. There macros where often used on a non-trivial expression, and there was at least one usage where it was causing an actual side effect/bug on Windows (see change around square_f(sh[index++]) in studiolight.c). For such cases it is handy to have a function which is guaranteed to have zero side-effects. The motivation behind actually removing the macros is that there is already a way to do similar calculation. Also, not having such macros is a way to guarantee that its usage is not changed in a way which have side-effects and that it's not used as an inspiration for cases where it should not be used. Differential Revision: https://developer.blender.org/D7051
2020-03-03Cleanup: formatting, spellingCampbell Barton
2020-02-25EEVEE: Lookdev: Add support for partially blurred backgroundClément Foucault
This is using the GGX probe as background. This has the drawback of having the resolution choosed in the indirect lighting setting. The blurring is not really high-quality. The pros is that it has a simple implementation and is fast to evaluate. This patch also fades the background alpha to make overlay engine draw the default background color in the correct color space. Removing one colorspace hack. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D6895
2020-02-25Cleanup: EEVEE: Use log2_floor_uClément Foucault
2020-02-25EEVEE: Fix seams in reflection cubemap on low roughnessClément Foucault
This was caused by the texture size not being power of 2. Thus the padding applied to the base LOD did not match the highest mipmaps.
2020-02-21EEVEE: Render PassesJeroen Bakker
This patch adds new render passes to EEVEE. These passes include: * Emission * Diffuse Light * Diffuse Color * Glossy Light * Glossy Color * Environment * Volume Scattering * Volume Transmission * Bloom * Shadow With these passes it will be possible to use EEVEE effectively for compositing. During development we kept a close eye on how to get similar results compared to cycles render passes there are some differences that are related to how EEVEE works. For EEVEE we combined the passes to `Diffuse` and `Specular`. There are no transmittance or sss passes anymore. Cycles will be changed accordingly. Cycles volume transmittance is added to multiple surface col passes. For EEVEE we left the volume transmittance as a separate pass. Known Limitations * All materials that use alpha blending will not be rendered in the render passes. Other transparency modes are supported. * More GPU memory is required to store the render passes. When rendering a HD image with all render passes enabled at max extra 570MB GPU memory is required. Implementation Details An overview of render passes have been described in https://wiki.blender.org/wiki/Source/Render/EEVEE/RenderPasses Future Developments * In this implementation the materials are re-rendered for Diffuse/Glossy and Emission passes. We could use multi target rendering to improve the render speed. * Other passes can be added later * Don't render material based passes when only requesting AO or Shadow. * Add more passes to the system. These could include Cryptomatte, AOV's, Vector, ObjectID, MaterialID, UV. Reviewed By: Clément Foucault Differential Revision: https://developer.blender.org/D6331
2020-02-05Fix T73127 EEVEE: Reflection plane not visible in lookdev without scene worldClément Foucault
2019-10-03Cleanup: unused structs, struct membersCampbell Barton
2019-09-07Cleanup: use post increment/decrementCampbell Barton
When the result isn't used, prefer post increment/decrement (already used nearly everywhere in Blender).
2019-09-05Eevee: Shadow map refactorClément Foucault
Reviewed By: brecht Differential Revision: http://developer.blender.org/D5659
2019-08-17Cleanup: spellingCampbell Barton
2019-08-01Cleanup: misc spelling fixesCampbell Barton
T68035 by @luzpaz
2019-07-09Fix T65761 Eevee: SSRefraction not working on first sampleClément Foucault
There is no reason to disable the refraction on the first sample like SSR does. This was caussing issues when rendering.
2019-06-14Fix T64913 Eevee: shader compilation does not reset TAAClément Foucault
This tracks the number of compiling shaders and just reset the TAA if previous number mismatch.
2019-06-12Cleanup: spelling in commentsCampbell Barton
2019-06-06Fix T64742 Eevee: SSRefract broken with planar reflectionsClément Foucault
2019-05-30Eevee: Fix crash caused by visibility calculationClément Foucault
2019-05-30DRW: Refactor to use object pointer for drawcall by defaultClément Foucault
This cleans up a bit of duplicated code and some confusion about what was culled and what wasn't. Now everything is culled based on the given object pointer. If the object pointer is NULL there is no culling performed.
2019-05-28Eevee: Render alpha blended objects when rendering probesClément Foucault
This fix T64553 EEVEE: Emission material not lighting other objects when blend mode set to alpha blend
2019-05-27Eevee: Fix Aliasing in Light ProbesAdam Nydahl
Differential Revision: https://developer.blender.org/D4869
2019-05-22Eevee: Make lightprobes work with new DRWView systemClément Foucault
2019-05-22Eevee: Make Planar reflections work with the new DRWView systemClément Foucault
Also get rid of clip_block which did the same as clipplanes inside common_view_lib.glsl.
2019-05-22DRW: Add view param to DRW_culling_* functionsClément Foucault
2019-05-22Eevee: Use DRW_view_* API instead of DRW_viewport_matrix_*Clément Foucault
2019-05-22DRW: Remove DRW_state_clip_planes_resetClément Foucault
2019-05-17Cleanup: Eevee: Use DRW_PASS_CREATE macro when possibleClément Foucault
2019-05-14Cleanup: DRW: Remove uneeded _add suffix from DRW_shgroup_call_addClément Foucault
2019-05-14DRW: Refactor: Use DRWCall to accumulate per instance attributesClément Foucault
This is a big change that cleanup a lot of confusing code. - The instancing/batching data buffer distribution in draw_instance_data.c. - The selection & drawing code in draw_manager_exec.c - Prety much every non-meshes object drawing (object_mode.c). Most of the changes are just renaming but there still a chance a typo might have sneek through. The Batching/Instancing Shading groups are replace by DRWCallBuffers. This is cleaner and conceptually more in line with what a DRWShadingGroup should be. There is still some little confusion in draw_common.c where some function takes shgroup as input and some don't.
2019-05-14Eevee: Replace DRW_shgroup_empty_tri_batch_create by procedural callsClément Foucault
2019-05-14Cleanup: Eevee: Make planar downsampling not use instance drawingClément Foucault
2019-05-01Cleanup: comments (long lines) in drawCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-04Fix T63108 Eevee: Wrong Reflection plane matrix if camera view is not centeredClément Foucault
Invert X axis of the Window Matrix (AKA Projection matrix) instead of the View matrix.
2019-04-03Reset background alpha for probe rendering.Alexander Court
Possibly fixes T63005. Reviewers: fclem Reviewed By: fclem Differential Revision: https://developer.blender.org/D4637
2019-03-28Eevee: Fix reflection plane weird behavior when comming from lookdev modeClément Foucault
The reflection was set to use the 1x1px texture as rendering target and was considered valid reflection texture.
2019-03-20Fix T60190 Z-fighting with (Culled) BackfaceClément Foucault
Create a separate pass for backface culled objects.
2019-03-20Cleanup: use lowercase for dimensions in function namesCampbell Barton
Most API's already use this convention.
2019-03-20Fix T59719 Bake Indirect Lighting doesn't update env map reflectionClément Foucault
2019-03-13Fix T60902 Eevee: Environment texture partially visible on transp. renderClément Foucault
This was due to environement not being rendered with alpha blending. So color was still written and contributed to the final render color. Now we multiply by background alpha so that it removes any background pixels intensity. For this reason this made the (incorrect) final premult unecessary.
2019-03-12Eevee: Planar Ref.: Invert view matrix to remove triangle front face flipClément Foucault
This was the cause of some issue with normal mapping. This way is cleaner since it does not modify the state of the drawcalls and other ad-hoc solutions to fix the problems down the road. Unfortunately, it does require to fix every sampling coordinate for this texture. Fix T62215: flipped normals in reflection plane
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-01-29Cleanup: replace attrib w/ attrCampbell Barton
Also rename GPUVertexAttribs to GPUVertAttrLayers, avoids confusion with GPUVertAttr which isn't closely related.