|
@@ -28,6 +28,7 @@ THREE.ShaderLib = {
|
|
|
THREE.ShaderChunk[ "morphtarget_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "skinning_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "shadowmap_pars_vertex" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
@@ -47,6 +48,7 @@ THREE.ShaderLib = {
|
|
|
THREE.ShaderChunk[ "morphtarget_vertex" ],
|
|
|
THREE.ShaderChunk[ "skinning_vertex" ],
|
|
|
THREE.ShaderChunk[ "default_vertex" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_vertex" ],
|
|
|
|
|
|
THREE.ShaderChunk[ "worldpos_vertex" ],
|
|
|
THREE.ShaderChunk[ "envmap_vertex" ],
|
|
@@ -68,11 +70,13 @@ THREE.ShaderLib = {
|
|
|
THREE.ShaderChunk[ "fog_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "shadowmap_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "specularmap_pars_fragment" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
|
" gl_FragColor = vec4( diffuse, opacity );",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_fragment" ],
|
|
|
THREE.ShaderChunk[ "map_fragment" ],
|
|
|
THREE.ShaderChunk[ "alphatest_fragment" ],
|
|
|
THREE.ShaderChunk[ "specularmap_fragment" ],
|
|
@@ -128,6 +132,7 @@ THREE.ShaderLib = {
|
|
|
THREE.ShaderChunk[ "morphtarget_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "skinning_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "shadowmap_pars_vertex" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
@@ -143,6 +148,7 @@ THREE.ShaderLib = {
|
|
|
THREE.ShaderChunk[ "morphtarget_vertex" ],
|
|
|
THREE.ShaderChunk[ "skinning_vertex" ],
|
|
|
THREE.ShaderChunk[ "default_vertex" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_vertex" ],
|
|
|
|
|
|
THREE.ShaderChunk[ "worldpos_vertex" ],
|
|
|
THREE.ShaderChunk[ "envmap_vertex" ],
|
|
@@ -172,11 +178,13 @@ THREE.ShaderLib = {
|
|
|
THREE.ShaderChunk[ "fog_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "shadowmap_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "specularmap_pars_fragment" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
|
" gl_FragColor = vec4( vec3( 1.0 ), opacity );",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_fragment" ],
|
|
|
THREE.ShaderChunk[ "map_fragment" ],
|
|
|
THREE.ShaderChunk[ "alphatest_fragment" ],
|
|
|
THREE.ShaderChunk[ "specularmap_fragment" ],
|
|
@@ -248,6 +256,7 @@ THREE.ShaderLib = {
|
|
|
THREE.ShaderChunk[ "morphtarget_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "skinning_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "shadowmap_pars_vertex" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
@@ -265,6 +274,7 @@ THREE.ShaderLib = {
|
|
|
THREE.ShaderChunk[ "morphtarget_vertex" ],
|
|
|
THREE.ShaderChunk[ "skinning_vertex" ],
|
|
|
THREE.ShaderChunk[ "default_vertex" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_vertex" ],
|
|
|
|
|
|
" vViewPosition = -mvPosition.xyz;",
|
|
|
|
|
@@ -297,11 +307,13 @@ THREE.ShaderLib = {
|
|
|
THREE.ShaderChunk[ "bumpmap_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "normalmap_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "specularmap_pars_fragment" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
|
" gl_FragColor = vec4( vec3( 1.0 ), opacity );",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_fragment" ],
|
|
|
THREE.ShaderChunk[ "map_fragment" ],
|
|
|
THREE.ShaderChunk[ "alphatest_fragment" ],
|
|
|
THREE.ShaderChunk[ "specularmap_fragment" ],
|
|
@@ -339,6 +351,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
THREE.ShaderChunk[ "color_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "shadowmap_pars_vertex" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
@@ -354,6 +367,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
" gl_Position = projectionMatrix * mvPosition;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_vertex" ],
|
|
|
THREE.ShaderChunk[ "worldpos_vertex" ],
|
|
|
THREE.ShaderChunk[ "shadowmap_vertex" ],
|
|
|
|
|
@@ -370,11 +384,13 @@ THREE.ShaderLib = {
|
|
|
THREE.ShaderChunk[ "map_particle_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "fog_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "shadowmap_pars_fragment" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
|
" gl_FragColor = vec4( psColor, opacity );",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_fragment" ],
|
|
|
THREE.ShaderChunk[ "map_particle_fragment" ],
|
|
|
THREE.ShaderChunk[ "alphatest_fragment" ],
|
|
|
THREE.ShaderChunk[ "color_fragment" ],
|
|
@@ -410,6 +426,7 @@ THREE.ShaderLib = {
|
|
|
"varying float vLineDistance;",
|
|
|
|
|
|
THREE.ShaderChunk[ "color_pars_vertex" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
@@ -420,6 +437,8 @@ THREE.ShaderLib = {
|
|
|
" vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",
|
|
|
" gl_Position = projectionMatrix * mvPosition;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_vertex" ],
|
|
|
+
|
|
|
"}"
|
|
|
|
|
|
].join("\n"),
|
|
@@ -436,6 +455,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
THREE.ShaderChunk[ "color_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "fog_pars_fragment" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
@@ -447,6 +467,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
" gl_FragColor = vec4( diffuse, opacity );",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_fragment" ],
|
|
|
THREE.ShaderChunk[ "color_fragment" ],
|
|
|
THREE.ShaderChunk[ "fog_fragment" ],
|
|
|
|
|
@@ -467,11 +488,13 @@ THREE.ShaderLib = {
|
|
|
},
|
|
|
|
|
|
vertexShader: [
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
|
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_vertex" ],
|
|
|
"}"
|
|
|
|
|
|
].join("\n"),
|
|
@@ -481,10 +504,22 @@ THREE.ShaderLib = {
|
|
|
"uniform float mNear;",
|
|
|
"uniform float mFar;",
|
|
|
"uniform float opacity;",
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
|
- " float depth = gl_FragCoord.z / gl_FragCoord.w;",
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_fragment" ],
|
|
|
+
|
|
|
+ " #ifdef USE_LOGDEPTHBUF_EXT",
|
|
|
+
|
|
|
+ " float depth = gl_FragDepthEXT / gl_FragCoord.w;",
|
|
|
+
|
|
|
+ " #else",
|
|
|
+
|
|
|
+ " float depth = gl_FragCoord.z / gl_FragCoord.w;",
|
|
|
+
|
|
|
+ " #endif",
|
|
|
+
|
|
|
" float color = 1.0 - smoothstep( mNear, mFar, depth );",
|
|
|
" gl_FragColor = vec4( vec3( color ), opacity );",
|
|
|
|
|
@@ -507,6 +542,7 @@ THREE.ShaderLib = {
|
|
|
"varying vec3 vNormal;",
|
|
|
|
|
|
THREE.ShaderChunk[ "morphtarget_pars_vertex" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
@@ -514,6 +550,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
THREE.ShaderChunk[ "morphtarget_vertex" ],
|
|
|
THREE.ShaderChunk[ "default_vertex" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_vertex" ],
|
|
|
|
|
|
"}"
|
|
|
|
|
@@ -524,10 +561,14 @@ THREE.ShaderLib = {
|
|
|
"uniform float opacity;",
|
|
|
"varying vec3 vNormal;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
|
|
|
+
|
|
|
"void main() {",
|
|
|
|
|
|
" gl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_fragment" ],
|
|
|
+
|
|
|
"}"
|
|
|
|
|
|
].join("\n")
|
|
@@ -666,8 +707,10 @@ THREE.ShaderLib = {
|
|
|
|
|
|
THREE.ShaderChunk[ "shadowmap_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "fog_pars_fragment" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
|
|
|
|
|
|
"void main() {",
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_fragment" ],
|
|
|
|
|
|
" gl_FragColor = vec4( vec3( 1.0 ), opacity );",
|
|
|
|
|
@@ -1039,6 +1082,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
THREE.ShaderChunk[ "skinning_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "shadowmap_pars_vertex" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
@@ -1126,6 +1170,8 @@ THREE.ShaderLib = {
|
|
|
|
|
|
" gl_Position = projectionMatrix * mvPosition;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_vertex" ],
|
|
|
+
|
|
|
//
|
|
|
|
|
|
" vWorldPosition = worldPosition.xyz;",
|
|
@@ -1162,6 +1208,8 @@ THREE.ShaderLib = {
|
|
|
|
|
|
"varying vec3 vWorldPosition;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
|
+
|
|
|
"void main() {",
|
|
|
|
|
|
" vec4 worldPosition = modelMatrix * vec4( position, 1.0 );",
|
|
@@ -1169,6 +1217,8 @@ THREE.ShaderLib = {
|
|
|
|
|
|
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_vertex" ],
|
|
|
+
|
|
|
"}"
|
|
|
|
|
|
].join("\n"),
|
|
@@ -1180,10 +1230,14 @@ THREE.ShaderLib = {
|
|
|
|
|
|
"varying vec3 vWorldPosition;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
|
|
|
+
|
|
|
"void main() {",
|
|
|
|
|
|
" gl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_fragment" ],
|
|
|
+
|
|
|
"}"
|
|
|
|
|
|
].join("\n")
|
|
@@ -1206,6 +1260,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
THREE.ShaderChunk[ "morphtarget_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "skinning_pars_vertex" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
@@ -1213,6 +1268,7 @@ THREE.ShaderLib = {
|
|
|
THREE.ShaderChunk[ "morphtarget_vertex" ],
|
|
|
THREE.ShaderChunk[ "skinning_vertex" ],
|
|
|
THREE.ShaderChunk[ "default_vertex" ],
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_vertex" ],
|
|
|
|
|
|
"}"
|
|
|
|
|
@@ -1220,6 +1276,8 @@ THREE.ShaderLib = {
|
|
|
|
|
|
fragmentShader: [
|
|
|
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
|
|
|
+
|
|
|
"vec4 pack_depth( const in float depth ) {",
|
|
|
|
|
|
" const vec4 bit_shift = vec4( 256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0 );",
|
|
@@ -1232,7 +1290,17 @@ THREE.ShaderLib = {
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
|
- " gl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );",
|
|
|
+ THREE.ShaderChunk[ "logdepthbuf_fragment" ],
|
|
|
+
|
|
|
+ " #ifdef USE_LOGDEPTHBUF_EXT",
|
|
|
+
|
|
|
+ " gl_FragData[ 0 ] = pack_depth( gl_FragDepthEXT );",
|
|
|
+
|
|
|
+ " #else",
|
|
|
+
|
|
|
+ " gl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );",
|
|
|
+
|
|
|
+ " #endif",
|
|
|
|
|
|
//"gl_FragData[ 0 ] = pack_depth( gl_FragCoord.z / gl_FragCoord.w );",
|
|
|
//"float z = ( ( gl_FragCoord.z / gl_FragCoord.w ) - 3.0 ) / ( 4000.0 - 3.0 );",
|