Buckets:
ktongue/docker_container / simsite /frontend /node_modules /three /examples /jsm /shaders /KaleidoShader.js
| /** | |
| * Kaleidoscope Shader | |
| * Radial reflection around center point | |
| * Ported from: http://pixelshaders.com/editor/ | |
| * by Toby Schachman / http://tobyschachman.com/ | |
| * | |
| * sides: number of reflections | |
| * angle: initial angle in radians | |
| */ | |
| const KaleidoShader = { | |
| name: 'KaleidoShader', | |
| uniforms: { | |
| 'tDiffuse': { value: null }, | |
| 'sides': { value: 6.0 }, | |
| 'angle': { value: 0.0 } | |
| }, | |
| vertexShader: /* glsl */` | |
| varying vec2 vUv; | |
| void main() { | |
| vUv = uv; | |
| gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 ); | |
| }`, | |
| fragmentShader: /* glsl */` | |
| uniform sampler2D tDiffuse; | |
| uniform float sides; | |
| uniform float angle; | |
| varying vec2 vUv; | |
| void main() { | |
| vec2 p = vUv - 0.5; | |
| float r = length(p); | |
| float a = atan(p.y, p.x) + angle; | |
| float tau = 2. * 3.1416 ; | |
| a = mod(a, tau/sides); | |
| a = abs(a - tau/sides/2.) ; | |
| p = r * vec2(cos(a), sin(a)); | |
| vec4 color = texture2D(tDiffuse, p + 0.5); | |
| gl_FragColor = color; | |
| }` | |
| }; | |
| export { KaleidoShader }; | |
Xet Storage Details
- Size:
- 1.01 kB
- Xet hash:
- 8626cfd5250672892e2029b5cced267c1e644e9d0ece521459618089334b2270
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.