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>2018-12-03 02:36:54 +0300
committerClément Foucault <foucault.clem@gmail.com>2018-12-03 19:19:11 +0300
commit24fd03d0c2fc5f49bc3813afce7ac5d67fc762bd (patch)
tree4af65d73762c28ce003d425cb288d66bec226a3d /source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl
parent17a4323ef59570975b254da9936fde16969b1df0 (diff)
Workbench: Reduce VRAM usage depending on mode
We exploit the fact that we are using the metallic workflow for material and pass the metallic parameter instead of the specular color. Pack the front facing bit in the color buffer only for matcap display. Change buffer formats to use less bytes as possible. Also don't request buffers that we won't use. Saved 40MB on 2K screen on StudioLight + Shadows + Specular Lighting. Includes several cleanups.
Diffstat (limited to 'source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl')
-rw-r--r--source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl8
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl
index c00edb06100..d42b6bde791 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl
@@ -9,8 +9,8 @@ uniform float alpha = 0.5;
uniform vec2 invertedViewportSize;
uniform vec4 viewvecs[3];
-uniform vec4 materialDiffuseColor;
-uniform vec4 materialSpecularColor;
+uniform vec3 materialDiffuseColor;
+uniform vec3 materialSpecularColor;
uniform float materialRoughness;
#ifdef NORMAL_VIEWPORT_PASS_ENABLED
@@ -40,7 +40,7 @@ void main()
discard;
}
#else
- diffuse_color = materialDiffuseColor;
+ diffuse_color = vec4(materialDiffuseColor, 1.0);
#endif /* V3D_SHADING_TEXTURE_COLOR */
vec2 uv_viewport = gl_FragCoord.xy * invertedViewportSize;
@@ -62,7 +62,7 @@ void main()
#elif defined(V3D_LIGHTING_STUDIO)
vec3 shaded_color = get_world_lighting(world_data,
- diffuse_color.rgb, materialSpecularColor.rgb, materialRoughness,
+ diffuse_color.rgb, materialSpecularColor, materialRoughness,
nor, I_vs);
#endif