Revision d3a8256 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) September 15, 2021, 15:15 (GMT) |
EEVEE: Film: Make smooth transition not rely on dtxl->color persistence This is a needed change for the viewport compositor. The compositor needs to draw to `dtxl->color` to have correct overlay / background composition. The solution here is to have a separate buffer that keeps the first sample we blend from. This increases VRAM usage but it is the most elegant option. |
September 15, 2021, 11:51 (GMT) |
Viewport Compositor: Initial commit This introduce a new compositor engine. It applies the compositor nodetree onto the render result in the viewport using GLSL shader. For now it only very few nodes are supported and only the combined pass is passed to the evaluation pass. This reuse almost the same pipeline as `GPUMaterial`. |
Revision 41c84bb by Antonio Vazquez (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) September 13, 2021, 15:14 (GMT) |
EEVEE: More Windows 64bits changes Missing in previous commit |
Revision 9711cdd by Antonio Vazquez (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) September 13, 2021, 15:02 (GMT) |
EEVEE: Fix Windows 64bits error Windows is different of Linux |
September 12, 2021, 18:41 (GMT) |
DRW: Add barebone realtime compositor engine This is just the initial commit. Compositor just clears the framebuffer to red. |
Revision 85b6e6d by Antonio Vazquez (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) September 12, 2021, 17:37 (GMT) |
EEVEE: Fix compiler errors in Windows |
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 |
|