[Bf-blender-cvs] [2c432baad0b] tmp-workbench-rewrite2: Add texture mirror extension type support (see D16432)

Miguel Pozo noreply at git.blender.org
Fri Jan 20 15:20:16 CET 2023


Commit: 2c432baad0b4e21c8173d5c66ec07b81c290e16f
Author: Miguel Pozo
Date:   Thu Jan 19 17:07:19 2023 +0100
Branches: tmp-workbench-rewrite2
https://developer.blender.org/rB2c432baad0b4e21c8173d5c66ec07b81c290e16f

Add texture mirror extension type support (see D16432)

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

M	source/blender/draw/engines/workbench/workbench_materials_next.cc

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

diff --git a/source/blender/draw/engines/workbench/workbench_materials_next.cc b/source/blender/draw/engines/workbench/workbench_materials_next.cc
index ec42c696ccc..74622882e52 100644
--- a/source/blender/draw/engines/workbench/workbench_materials_next.cc
+++ b/source/blender/draw/engines/workbench/workbench_materials_next.cc
@@ -69,17 +69,19 @@ void get_material_image(Object *ob,
   if (node && image) {
     switch (node->type) {
       case SH_NODE_TEX_IMAGE: {
-        NodeTexImage *storage = static_cast<NodeTexImage *>(node->storage);
+        const NodeTexImage *storage = static_cast<NodeTexImage *>(node->storage);
         const bool use_filter = (storage->interpolation != SHD_INTERP_CLOSEST);
-        const bool use_repeat = (storage->extension == SHD_IMAGE_EXTENSION_REPEAT);
+        const bool use_mirror = (storage->extension == SHD_IMAGE_EXTENSION_MIRROR);
+        const bool use_repeat = use_mirror || (storage->extension == SHD_IMAGE_EXTENSION_REPEAT);
         const bool use_clip = (storage->extension == SHD_IMAGE_EXTENSION_CLIP);
         SET_FLAG_FROM_TEST(sampler_state, use_filter, GPU_SAMPLER_FILTER);
         SET_FLAG_FROM_TEST(sampler_state, use_repeat, GPU_SAMPLER_REPEAT);
         SET_FLAG_FROM_TEST(sampler_state, use_clip, GPU_SAMPLER_CLAMP_BORDER);
+        SET_FLAG_FROM_TEST(sampler_state, use_mirror, GPU_SAMPLER_MIRROR_REPEAT);
         break;
       }
       case SH_NODE_TEX_ENVIRONMENT: {
-        NodeTexEnvironment *storage = static_cast<NodeTexEnvironment *>(node->storage);
+        const NodeTexEnvironment *storage = static_cast<NodeTexEnvironment *>(node->storage);
         const bool use_filter = (storage->interpolation != SHD_INTERP_CLOSEST);
         SET_FLAG_FROM_TEST(sampler_state, use_filter, GPU_SAMPLER_FILTER);
         break;



More information about the Bf-blender-cvs mailing list