diff options
author | Antti Määttä <antti.maatta@qt.io> | 2020-09-24 12:45:10 +0300 |
---|---|---|
committer | Antti Määttä <antti.maatta@qt.io> | 2020-10-14 12:25:54 +0300 |
commit | ef7e3400211d275077596dd848898adb876efb6e (patch) | |
tree | f712f9c28502deb6794e70e2ca6fd77e4d938703 /res | |
parent | 830d97fda90783e278c0e0ea99ec286e6e7b96e2 (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.glsllib | 18 |
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 |