[Bf-blender-cvs] [bb0d1781cb0] tmp-workbench-rewrite2: add roughness/metallic support for texture materials

Miguel Pozo noreply at git.blender.org
Fri Oct 14 12:24:54 CEST 2022


Commit: bb0d1781cb04e8a995f8184ae86309d0e28a07fb
Author: Miguel Pozo
Date:   Fri Oct 14 12:17:52 2022 +0200
Branches: tmp-workbench-rewrite2
https://developer.blender.org/rBbb0d1781cb04e8a995f8184ae86309d0e28a07fb

add roughness/metallic support for texture materials

===================================================================

M	source/blender/draw/engines/workbench/shaders/infos/workbench_prepass_info.hh
M	source/blender/draw/engines/workbench/shaders/workbench_prepass_frag.glsl

===================================================================

diff --git a/source/blender/draw/engines/workbench/shaders/infos/workbench_prepass_info.hh b/source/blender/draw/engines/workbench/shaders/infos/workbench_prepass_info.hh
index 22f24c99e7b..89dcfda3eda 100644
--- a/source/blender/draw/engines/workbench/shaders/infos/workbench_prepass_info.hh
+++ b/source/blender/draw/engines/workbench/shaders/infos/workbench_prepass_info.hh
@@ -127,6 +127,8 @@ GPU_SHADER_CREATE_INFO(workbench_color_material)
 GPU_SHADER_CREATE_INFO(workbench_color_texture)
     .define("WORKBENCH_COLOR_TEXTURE")
     .define("WORKBENCH_TEXTURE_IMAGE_ARRAY")
+    .define("WORKBENCH_COLOR_MATERIAL")
+    .storage_buf(WB_MATERIAL_SLOT, Qualifier::READ, "vec4", "materials_data[]")
     .sampler(1, ImageType::FLOAT_2D, "imageTexture", Frequency::BATCH)
     .sampler(2, ImageType::FLOAT_2D_ARRAY, "imageTileArray", Frequency::BATCH)
     .sampler(3, ImageType::FLOAT_1D_ARRAY, "imageTileData", Frequency::BATCH)
diff --git a/source/blender/draw/engines/workbench/shaders/workbench_prepass_frag.glsl b/source/blender/draw/engines/workbench/shaders/workbench_prepass_frag.glsl
index 9f6e2a09790..7758d6d421c 100644
--- a/source/blender/draw/engines/workbench/shaders/workbench_prepass_frag.glsl
+++ b/source/blender/draw/engines/workbench/shaders/workbench_prepass_frag.glsl
@@ -10,10 +10,10 @@ void main()
   out_object_id = uint(object_id);
   out_normal = workbench_normal_encode(gl_FrontFacing, normal_interp);
 
+  out_material = vec4(color_interp, workbench_float_pair_encode(_roughness, metallic));
+
 #  ifdef WORKBENCH_COLOR_TEXTURE
   out_material.rgb = workbench_image_color(uv_interp);
-#  else
-  out_material = vec4(color_interp, workbench_float_pair_encode(_roughness, metallic));
 #  endif
 
 #  ifdef WORKBENCH_LIGHTING_MATCAP
@@ -42,4 +42,4 @@ void main()
 #  endif
 }
 
-#endif
\ No newline at end of file
+#endif



More information about the Bf-blender-cvs mailing list