Revision c51604e by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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. |
Revision 9207920 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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. |
Revision f79788f by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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. |
Revision c4287db by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) July 20, 2021, 14:48 (GMT) |
EEVEE: Fix compilation on OSX platform OSX driver does not support loose semicolon in code |
Revision 62aa72d by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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 |
Revision 0053d2f by Clément Foucault (draw-viewport-data, eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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 |
Revision 6206a30 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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. |
Revision e3ff83a by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) July 15, 2021, 15:26 (GMT) |
GPUFramebuffer: Bump maximum color attachement to 8 This is needed for EEVEE's new deferred render pipeline. |
Revision 80b9246 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) July 3, 2021, 12:45 (GMT) |
GPU: Shader: Add debug context line count This gives more detail, when the error line is misleading. |
Revision 169a2a5 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) July 3, 2021, 12:44 (GMT) |
EEVEE: Fix crash caused by transparent material without prepass |
Revision d8ec228 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) June 30, 2021, 22:02 (GMT) |
GPUMaterial: Fix issue with displacement tree and partial derivatives |
Revision 27adad0 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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. |
Revision c4a3ba6 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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. |
Revision e962002 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) June 23, 2021, 13:39 (GMT) |
DRW: Fix crash in deferred compilation |
Revision 3ad7832 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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. |
Revision 209ab8c by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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. |
Revision 94f813d by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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. |
Revision c844497 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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. |
Revision a6ae942 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) 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. |
Revision 1f262a4 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) June 15, 2021, 20:31 (GMT) |
GPUCodegen: Fix crash when there is no output node |
|