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
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2021-05-20 22:09:28 +0300
committerClément Foucault <foucault.clem@gmail.com>2021-05-21 00:51:52 +0300
commit6dc49ec9924b21af4e67f30150394138cb17754b (patch)
tree24658d842531c91de3c6360222608cd0364d9db2 /source/blender/draw/engines/eevee/shaders/eevee_surface_deferred_frag.glsl
parent0c71240f14e6016728a9942c079d357bc9eb4b41 (diff)
GPU/EEVEE: Refactor codegen and nodetree support
This is the first step towards the new evaluation scheme of EEVEE closures. This commit contains: - Removal of GPU_SOURCE_BUILTIN type, prefering global instead. This avoid many boilerplate code since most of the old builtins are now datas that are always present (i.e: view matrices, normals). - Rewritting of codegen in C++ to use `std::stringstream`. - Added a callback to let engine decide what to do with codegen code. This remove a lot of needs for defines because of code order dependency. The engine can insert the nodetree code in custom ways to create advance effects (i.e: add displacement or vertex lighting). Engine now returns final shader strings. - Closure nodes evaluation replacment is a placeholder for now.
Diffstat (limited to 'source/blender/draw/engines/eevee/shaders/eevee_surface_deferred_frag.glsl')
-rw-r--r--source/blender/draw/engines/eevee/shaders/eevee_surface_deferred_frag.glsl8
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/draw/engines/eevee/shaders/eevee_surface_deferred_frag.glsl b/source/blender/draw/engines/eevee/shaders/eevee_surface_deferred_frag.glsl
index b83df1090ab..442ce6ee584 100644
--- a/source/blender/draw/engines/eevee/shaders/eevee_surface_deferred_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/eevee_surface_deferred_frag.glsl
@@ -12,13 +12,13 @@ layout(location = 3) out uvec4 out_volume_data; /* Volume Emission, Absorpt
layout(location = 4) out vec4 out_emission_data; /* Emission. */
layout(location = 5) out vec4 out_transparency_data; /* Transparent BSDF, Holdout. */
-GlobalData g_data;
-
void main(void)
{
- g_data = init_from_interp();
+ g_data = init_globals();
+
+ ntree_eval_set_defaults();
- nodetree_eval(g_data.N);
+ nodetree_surface();
out_diffuse_data = gbuffer_store_diffuse_data(g_diffuse_data);
out_reflection_data = gbuffer_store_reflection_data(g_reflection_data);