summaryrefslogtreecommitdiffstats
path: root/res
diff options
context:
space:
mode:
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