diff options
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 |