summaryrefslogtreecommitdiffstats
path: root/res
diff options
context:
space:
mode:
authorAntti Määttä <antti.maatta@qt.io>2020-09-24 12:45:10 +0300
committerAntti Määttä <antti.maatta@qt.io>2020-10-14 12:25:54 +0300
commitef7e3400211d275077596dd848898adb876efb6e (patch)
treef712f9c28502deb6794e70e2ca6fd77e4d938703 /res
parent830d97fda90783e278c0e0ea99ec286e6e7b96e2 (diff)
Use images with dynamic object textures
Task-number: QT3DS-4063 Change-Id: Ia07f21be65ebda9733773504eb2e0ddce4009fab Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'res')
-rw-r--r--res/effectlib/customMaterial.glsllib18
1 files changed, 16 insertions, 2 deletions
diff --git a/res/effectlib/customMaterial.glsllib b/res/effectlib/customMaterial.glsllib
index 0a4d88b..83756ec 100644
--- a/res/effectlib/customMaterial.glsllib
+++ b/res/effectlib/customMaterial.glsllib
@@ -31,8 +31,22 @@
#ifndef CUSTOM_MATERIAL_GLSLLIB
#define CUSTOM_MATERIAL_GLSLLIB 1
-#define SNAPPER_SAMPLER2D(samplerName, samplerNiceName, texFilter, texWrap, showUI )\
-uniform sampler2D samplerName;
+vec4 getTransformedSample(sampler2D sampler, vec2 coord, vec3 transformU, vec3 transformV)
+{
+ const vec3 coord3 = vec3(coord, 1.0);
+ return texture(sampler, vec2(dot(transformU, coord3), dot(transformV, coord3)));
+}
+
+#define SNAPPER_SAMPLER2D(samplerName, samplerNiceName, texFilter, texWrap, showUI ) \
+ uniform sampler2D samplerName; \
+ uniform vec3 samplerName##TransformU; \
+ uniform vec3 samplerName##TransformV; \
+ vec4 samplerName##Transformed(vec2 coord) \
+ { \
+ return getTransformedSample(samplerName, coord, samplerName##TransformU, samplerName##TransformV); \
+ }
+
+
// some useful defines
#ifndef PI