Doodle3D-Slicer/three.js-master/examples/js/shaders/BlendShader.js
2017-06-22 13:21:07 +02:00

52 lines
855 B
JavaScript
Executable File

/**
* @author alteredq / http://alteredqualia.com/
*
* Blend two textures
*/
THREE.BlendShader = {
uniforms: {
"tDiffuse1": { type: "t", value: null },
"tDiffuse2": { type: "t", value: null },
"mixRatio": { type: "f", value: 0.5 },
"opacity": { type: "f", value: 1.0 }
},
vertexShader: [
"varying vec2 vUv;",
"void main() {",
"vUv = uv;",
"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
"}"
].join("\n"),
fragmentShader: [
"uniform float opacity;",
"uniform float mixRatio;",
"uniform sampler2D tDiffuse1;",
"uniform sampler2D tDiffuse2;",
"varying vec2 vUv;",
"void main() {",
"vec4 texel1 = texture2D( tDiffuse1, vUv );",
"vec4 texel2 = texture2D( tDiffuse2, vUv );",
"gl_FragColor = opacity * mix( texel1, texel2, mixRatio );",
"}"
].join("\n")
};