webvr js meetup initial commit
This commit is contained in:
60
node_modules/three/examples/js/shaders/KaleidoShader.js
generated
vendored
Normal file
60
node_modules/three/examples/js/shaders/KaleidoShader.js
generated
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
/**
|
||||
* @author felixturner / http://airtight.cc/
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
|
||||
THREE.KaleidoShader = {
|
||||
|
||||
uniforms: {
|
||||
|
||||
"tDiffuse": { value: null },
|
||||
"sides": { value: 6.0 },
|
||||
"angle": { value: 0.0 }
|
||||
|
||||
},
|
||||
|
||||
vertexShader: [
|
||||
|
||||
"varying vec2 vUv;",
|
||||
|
||||
"void main() {",
|
||||
|
||||
"vUv = uv;",
|
||||
"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
||||
|
||||
"}"
|
||||
|
||||
].join( "\n" ),
|
||||
|
||||
fragmentShader: [
|
||||
|
||||
"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;",
|
||||
|
||||
"}"
|
||||
|
||||
].join( "\n" )
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user