From ef7e3400211d275077596dd848898adb876efb6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antti=20M=C3=A4=C3=A4tt=C3=A4?= Date: Thu, 24 Sep 2020 12:45:10 +0300 Subject: Use images with dynamic object textures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QT3DS-4063 Change-Id: Ia07f21be65ebda9733773504eb2e0ddce4009fab Reviewed-by: Kaj Grönholm Reviewed-by: Tomi Korpipää --- res/effectlib/customMaterial.glsllib | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'res') 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 -- cgit v1.2.3