Blender Git Commits

Blender Git "eevee-rewrite" branch commits.

Page: 2 / 8

September 7, 2021, 06:41 (GMT)
EEVEE: Use special depth shader to resolve the depth buffer

This was the cause of a bug on Intel Integrated GPU and might as well
impact other platforms.
August 25, 2021, 13:38 (GMT)
EEVEE: LightGrid: Fix divide by zero leading to wrong world lighting

This integer divide by zero was evaluated to 0 on all platform but apple,
where it yields 1. The world lighting would then sample the 1 sample of the
first grid instead of its own sample.
August 19, 2021, 08:01 (GMT)
EEVEE: Film: Fix undefined viewport color values after resizing

This was caused by the blend mode that was used even with full opacity.
This caused issues with the viewport was resized and the color of the
framebuffer becomes undefined, leading to undefined values in the blend
equation.

Another fix would be to clear the viewport color on resize inside the
GPUViewport.
July 20, 2021, 14:48 (GMT)
EEVEE: Fix compilation on OSX platform

OSX driver does not support loose semicolon in code
July 19, 2021, 21:04 (GMT)
Merge branch 'draw-viewport-data' into eevee-rewrite

# Conflicts:
# source/blender/blenlib/BLI_assert.h
# source/blender/blenloader/intern/versioning_290.c
# source/blender/draw/engines/eevee/eevee_cryptomatte.c
# source/blender/draw/engines/eevee/eevee_depth_of_field.c
# source/blender/draw/engines/eevee/eevee_effects.c
# source/blender/draw/engines/eevee/eevee_engine.c
# source/blender/draw/engines/eevee/eevee_lightcache.c
# source/blender/draw/engines/eevee/eevee_lightprobes.c
# source/blender/draw/engines/eevee/eevee_lights.c
# source/blender/draw/engines/eevee/eevee_lookdev.c
# source/blender/draw/engines/eevee/eevee_materials.c
# source/blender/draw/engines/eevee/eevee_mist.c
# source/blender/draw/engines/eevee/eevee_motion_blur.c
# source/blender/draw/engines/eevee/eevee_occlusion.c
# source/blender/draw/engines/eevee/eevee_private.h
# source/blender/draw/engines/eevee/eevee_render.c
# source/blender/draw/engines/eevee/eevee_renderpasses.c
# source/blender/draw/engines/eevee/eevee_screen_raytrace.c
# source/blender/draw/engines/eevee/eevee_shaders.c
# source/blender/draw/engines/eevee/eevee_shadows.c
# source/blender/draw/engines/eevee/eevee_shadows_cascade.c
# source/blender/draw/engines/eevee/eevee_subsurface.c
# source/blender/draw/engines/eevee/eevee_temporal_sampling.c
# source/blender/draw/engines/eevee/eevee_volumes.c
# source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl
# source/blender/draw/engines/eevee/shaders/bsdf_common_lib.glsl
# source/blender/draw/engines/eevee/shaders/btdf_lut_frag.glsl
# source/blender/draw/engines/eevee/shaders/closure_eval_lib.glsl
# source/blender/draw/engines/eevee/shaders/closure_type_lib.glsl
# source/blender/draw/engines/eevee/shaders/common_uniforms_lib.glsl
# source/blender/draw/engines/eevee/shaders/common_utiltex_lib.glsl
# source/blender/draw/engines/eevee/shaders/eevee_depth_of_field_tiles_flatten_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_dof_bokeh_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_dof_dilate_tiles_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_dof_gather_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_dof_lib.glsl
# source/blender/draw/engines/eevee/shaders/effect_dof_reduce_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_dof_resolve_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_dof_setup_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_reflection_resolve_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_reflection_trace_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_subsurface_frag.glsl
# source/blender/draw/engines/eevee/shaders/effect_temporal_aa.glsl
# source/blender/draw/engines/eevee/shaders/effect_translucency_frag.glsl
# source/blender/draw/engines/eevee/shaders/lightprobe_cube_display_vert.glsl
# source/blender/draw/engines/eevee/shaders/lightprobe_lib.glsl
# source/blender/draw/engines/eevee/shaders/lights_lib.glsl
# source/blender/draw/engines/eevee/shaders/random_lib.glsl
# source/blender/draw/engines/eevee/shaders/raytrace_lib.glsl
# source/blender/draw/engines/eevee/shaders/ssr_lib.glsl
# source/blender/draw/engines/eevee/shaders/surface_lib.glsl
# source/blender/draw/engines/eevee/shaders/volumetric_geom.glsl
# source/blender/draw/engines/eevee/shaders/volumetric_lib.glsl
# source/blender/draw/intern/draw_manager_shader.c
# source/blender/draw/intern/shaders/common_math_lib.glsl
# source/blender/gpu/CMakeLists.txt
# source/blender/gpu/intern/gpu_codegen.c
# source/blender/gpu/intern/gpu_shader.cc
# source/blender/gpu/shaders/material/gpu_shader_material_geometry.glsl
# source/blender/gpu/shaders/material/gpu_shader_material_principled.glsl
# source/blender/gpu/shaders/material/gpu_shader_material_subsurface_scattering.glsl
# source/blender/gpu/shaders/material/gpu_shader_material_world_normals.glsl
# source/blender/nodes/shader/nodes/node_shader_output_aov.c
July 19, 2021, 17:47 (GMT)
DRW: Move buffer & temp textures & framebuffer management to DrawManager

This is a necessary step for EEVEE's new arch. This moves more data
to the draw manager. This makes it easier to have the render or draw
engines manage their own data.

This makes more sense and cleans-up what the GPUViewport holds

Also rewrites the Texture pool manager to be in C++.

This also move the DefaultFramebuffer/TextureList and the engine related
data to a new `DRWViewData` struct. This struct manages the per view
(as in stereo view) engine data.

There is a bit of cleanup in the way the draw manager is setup.
We now use a temporary DRWData instead of creating a dummy viewport.

Differential Revision: https://developer.blender.org/D11966
July 19, 2021, 17:01 (GMT)
EEVEE: GBuffer: Change layout

This change the gbuffer layout to use more of the hardware to converting
data back and forth. Normals are encoded as two 16 bits components and
colors as R11G11B10F format.

This was motivated by the need of better quality normals. The issue is
that this increase the GBuffer size consequently. In order to balance
this we chose to merge the refraction and Diffuse/SSS data to use the
same buffer. This means we need to stochastically chose one of these
layers (so noise appear). Given that Glass BSDFs are rarely mixed
with Diffuse BSDFs, we think this is a good tradeoff.
July 15, 2021, 15:26 (GMT)
GPUFramebuffer: Bump maximum color attachement to 8

This is needed for EEVEE's new deferred render pipeline.
July 3, 2021, 12:45 (GMT)
GPU: Shader: Add debug context line count

This gives more detail, when the error line is misleading.
July 3, 2021, 12:44 (GMT)
EEVEE: Fix crash caused by transparent material without prepass
June 30, 2021, 22:02 (GMT)
GPUMaterial: Fix issue with displacement tree and partial derivatives
June 30, 2021, 21:56 (GMT)
GPUNodeTree: Fix issue with weight tree inversion and displacement

Displacement tree was also being tagged for copy and caused issue.
June 30, 2021, 21:55 (GMT)
EEVEE: Hair: Add back shaded hair support

Same implementation as before but it is less intrusive towards the
shading Node glsl code.

Hair shaders also now supports displacement.
June 23, 2021, 13:39 (GMT)
DRW: Fix crash in deferred compilation
June 20, 2021, 16:45 (GMT)
EEVEE: Add back refraction support for lightprobes

Screen Space Raytracing support is still to come.
Both forward and deferred pipelines are supported.
June 19, 2021, 23:28 (GMT)
EEVEE: Cleanup: Replace lighting evaluation macro by functions

The functions need to be declared before main as prototypes.
The appended libs will use the resources (textures, UBOs) defined at
global scope.

This removes a bit of code duplication and some long macros.
June 19, 2021, 16:01 (GMT)
DRW: ShaderLib: Add support for requesting lib to be appended to shader

Instead of appending using `BLENDER_REQUIRE`, shaders can now ask for
libs to be added after the shader's `main()` by using the
`BLENDER_REQUIRE_POST` pragma.
June 19, 2021, 16:00 (GMT)
EEVEE: Film: Fix accumulator precision when zoomed out

Use viewspace instead of world space to compute pixel projection.
This fix issues when camera is far from origin and float precision would
produce artifacts.
June 15, 2021, 20:35 (GMT)
EEVEE: Port back barycentric coordinates.

Nothing changed appart from the style of the integration which is
now fully on EEVEE's side.
June 15, 2021, 20:31 (GMT)
GPUCodegen: Fix crash when there is no output node
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021