Mobile app version of vmapp.org
Login or Join
Nickens508

: Program for image kaleidoscope/mirror effect similar to Adobe Capture Pattern Trap I've been looking for a program to do some graphic design work with that is similar to Adobe Capture Pattern

@Nickens508

Posted in: #Patterns #SoftwareRecommendation

I've been looking for a program to do some graphic design work with that is similar to Adobe Capture Pattern Trap.
The main things i'm looking for are high resolution file saves and mirror/reflect/kaleidoscope tools to create interesting patterns for print.

My computer (Surface Pro 4) is lagging way too much even after optimising and using an external hd to use AI or Psd effectively. The MirrorMe plugin by Astute Graphics is perfect if only my system could allow it!

Picsart mirror distort function is also another great example, yet again the resolution of the saved file is just far too small even in png.
I am running Windows 10.

10.01% popularity Vote Up Vote Down


Login to follow query

More posts by @Nickens508

1 Comments

Sorted by latest first Latest Oldest Best

 

@Si6392903

Here is a simple GLSL shader that generates a similar effect as the MirrorMe Plugin:

precision mediump float;
varying vec2 tc; // texture coordinate of the output image in range [0.0, 1.0]
uniform sampler2D inputImage;
const float PI = 3.14159265359;
uniform int numberOfAxis; // description "The number of splitting axis" defaultval="8"

int intModulo(float a,float b) {
float m = mod(a, b);
return int(m+0.5);
}

void main() {
if(numberOfAxis <=0) {
gl_FragColor = texture2D(inputImage, tc);
}else{

float angleFrac = (2.0 * PI) / float(2 * numberOfAxis);

vec2 c = tc - 0.5; //map to range [-0.5, 0.5]

// convert to polar coordinates
float phi = abs(atan(c.y, c.x));
float r = length(c);

int count = int(phi / angleFrac);

phi = mod(phi, angleFrac);
if( intModulo(float(count),2.0) == 1) {
phi = angleFrac - phi;
}

//from polar coordinates
float x = r * cos(phi);
float y = r * sin(phi);

vec2 cc = vec2(x,y) + 0.5; //map to range [0.0, 1.0]
vec4 color = texture2D(inputImage, cc);
gl_FragColor = color;
}
}


This is the output for 0, 2, and 8 splitting axis:


The GSN Composer is an online node-based image editor that allows running such custom GLSL code on jpg or png images. Here is the link for the example above:
www.gsn-lib.org/index.html#projectName=forummirror&graphName=Mirror
I have tested it with a resolution of up to 8000 x 8000 pixels on my machine. However, I assume the supported image size depends on your graphics card.

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme