|
@@ -1951,82 +1951,6 @@ THREE.UniformsLib = {
|
|
|
|
|
|
THREE.ShaderLib = {
|
|
|
|
|
|
- 'depth': {
|
|
|
-
|
|
|
- uniforms: {
|
|
|
-
|
|
|
- "mNear": { type: "f", value: 1.0 },
|
|
|
- "mFar" : { type: "f", value: 2000.0 },
|
|
|
- "opacity" : { type: "f", value: 1.0 }
|
|
|
-
|
|
|
- },
|
|
|
-
|
|
|
- vertexShader: [
|
|
|
-
|
|
|
- "void main() {",
|
|
|
-
|
|
|
- "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
|
-
|
|
|
- "}"
|
|
|
-
|
|
|
- ].join("\n"),
|
|
|
-
|
|
|
- fragmentShader: [
|
|
|
-
|
|
|
- "uniform float mNear;",
|
|
|
- "uniform float mFar;",
|
|
|
- "uniform float opacity;",
|
|
|
-
|
|
|
- "void main() {",
|
|
|
-
|
|
|
- "float depth = gl_FragCoord.z / gl_FragCoord.w;",
|
|
|
- "float color = 1.0 - smoothstep( mNear, mFar, depth );",
|
|
|
- "gl_FragColor = vec4( vec3( color ), opacity );",
|
|
|
-
|
|
|
- "}"
|
|
|
-
|
|
|
- ].join("\n")
|
|
|
-
|
|
|
- },
|
|
|
-
|
|
|
- 'normal': {
|
|
|
-
|
|
|
- uniforms: {
|
|
|
-
|
|
|
- "opacity" : { type: "f", value: 1.0 }
|
|
|
-
|
|
|
- },
|
|
|
-
|
|
|
- vertexShader: [
|
|
|
-
|
|
|
- "varying vec3 vNormal;",
|
|
|
-
|
|
|
- "void main() {",
|
|
|
-
|
|
|
- "vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",
|
|
|
- "vNormal = normalize( normalMatrix * normal );",
|
|
|
-
|
|
|
- "gl_Position = projectionMatrix * mvPosition;",
|
|
|
-
|
|
|
- "}"
|
|
|
-
|
|
|
- ].join("\n"),
|
|
|
-
|
|
|
- fragmentShader: [
|
|
|
-
|
|
|
- "uniform float opacity;",
|
|
|
- "varying vec3 vNormal;",
|
|
|
-
|
|
|
- "void main() {",
|
|
|
-
|
|
|
- "gl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );",
|
|
|
-
|
|
|
- "}"
|
|
|
-
|
|
|
- ].join("\n")
|
|
|
-
|
|
|
- },
|
|
|
-
|
|
|
'basic': {
|
|
|
|
|
|
uniforms: THREE.UniformsUtils.merge( [
|
|
@@ -2474,6 +2398,82 @@ THREE.ShaderLib = {
|
|
|
|
|
|
},
|
|
|
|
|
|
+ 'depth': {
|
|
|
+
|
|
|
+ uniforms: {
|
|
|
+
|
|
|
+ "mNear": { type: "f", value: 1.0 },
|
|
|
+ "mFar" : { type: "f", value: 2000.0 },
|
|
|
+ "opacity" : { type: "f", value: 1.0 }
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ vertexShader: [
|
|
|
+
|
|
|
+ "void main() {",
|
|
|
+
|
|
|
+ "gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
|
+
|
|
|
+ "}"
|
|
|
+
|
|
|
+ ].join("\n"),
|
|
|
+
|
|
|
+ fragmentShader: [
|
|
|
+
|
|
|
+ "uniform float mNear;",
|
|
|
+ "uniform float mFar;",
|
|
|
+ "uniform float opacity;",
|
|
|
+
|
|
|
+ "void main() {",
|
|
|
+
|
|
|
+ "float depth = gl_FragCoord.z / gl_FragCoord.w;",
|
|
|
+ "float color = 1.0 - smoothstep( mNear, mFar, depth );",
|
|
|
+ "gl_FragColor = vec4( vec3( color ), opacity );",
|
|
|
+
|
|
|
+ "}"
|
|
|
+
|
|
|
+ ].join("\n")
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ 'normal': {
|
|
|
+
|
|
|
+ uniforms: {
|
|
|
+
|
|
|
+ "opacity" : { type: "f", value: 1.0 }
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ vertexShader: [
|
|
|
+
|
|
|
+ "varying vec3 vNormal;",
|
|
|
+
|
|
|
+ "void main() {",
|
|
|
+
|
|
|
+ "vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",
|
|
|
+ "vNormal = normalize( normalMatrix * normal );",
|
|
|
+
|
|
|
+ "gl_Position = projectionMatrix * mvPosition;",
|
|
|
+
|
|
|
+ "}"
|
|
|
+
|
|
|
+ ].join("\n"),
|
|
|
+
|
|
|
+ fragmentShader: [
|
|
|
+
|
|
|
+ "uniform float opacity;",
|
|
|
+ "varying vec3 vNormal;",
|
|
|
+
|
|
|
+ "void main() {",
|
|
|
+
|
|
|
+ "gl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );",
|
|
|
+
|
|
|
+ "}"
|
|
|
+
|
|
|
+ ].join("\n")
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
// Depth encoding into RGBA texture
|
|
|
// based on SpiderGL shadow map example
|
|
|
// http://spidergl.org/example.php?id=6
|