|
@@ -21,6 +21,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
vertexShader: [
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "map_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "lightmap_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "envmap_pars_vertex" ],
|
|
@@ -63,6 +64,7 @@ THREE.ShaderLib = {
|
|
|
"uniform vec3 diffuse;",
|
|
|
"uniform float opacity;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "color_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "map_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "alphamap_pars_fragment" ],
|
|
@@ -126,6 +128,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
"#endif",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "map_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "lightmap_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "envmap_pars_vertex" ],
|
|
@@ -173,6 +176,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
"#endif",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "color_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "map_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "alphamap_pars_fragment" ],
|
|
@@ -252,6 +256,7 @@ THREE.ShaderLib = {
|
|
|
"varying vec3 vViewPosition;",
|
|
|
"varying vec3 vNormal;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "map_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "lightmap_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "envmap_pars_vertex" ],
|
|
@@ -303,6 +308,7 @@ THREE.ShaderLib = {
|
|
|
"uniform vec3 specular;",
|
|
|
"uniform float shininess;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "color_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "map_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "alphamap_pars_fragment" ],
|
|
@@ -357,6 +363,7 @@ THREE.ShaderLib = {
|
|
|
"uniform float size;",
|
|
|
"uniform float scale;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "color_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "shadowmap_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
@@ -388,6 +395,7 @@ THREE.ShaderLib = {
|
|
|
"uniform vec3 psColor;",
|
|
|
"uniform float opacity;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "color_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "map_particle_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "fog_pars_fragment" ],
|
|
@@ -433,6 +441,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
"varying float vLineDistance;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "color_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
|
|
|
@@ -461,6 +470,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
"varying float vLineDistance;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "color_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "fog_pars_fragment" ],
|
|
|
THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
|
|
@@ -497,6 +507,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
vertexShader: [
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "morphtarget_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
|
|
|
@@ -516,6 +527,7 @@ THREE.ShaderLib = {
|
|
|
"uniform float mFar;",
|
|
|
"uniform float opacity;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
|
|
|
|
|
|
"void main() {",
|
|
@@ -553,6 +565,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
"varying vec3 vNormal;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "morphtarget_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
|
|
|
@@ -573,6 +586,7 @@ THREE.ShaderLib = {
|
|
|
"uniform float opacity;",
|
|
|
"varying vec3 vNormal;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
|
|
|
|
|
|
"void main() {",
|
|
@@ -642,6 +656,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
fragmentShader: [
|
|
|
|
|
|
+
|
|
|
"uniform vec3 ambient;",
|
|
|
"uniform vec3 diffuse;",
|
|
|
"uniform vec3 specular;",
|
|
@@ -672,6 +687,8 @@ THREE.ShaderLib = {
|
|
|
|
|
|
"uniform vec3 ambientLightColor;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
+
|
|
|
"#if MAX_DIR_LIGHTS > 0",
|
|
|
|
|
|
" uniform vec3 directionalLightColor[ MAX_DIR_LIGHTS ];",
|
|
@@ -898,8 +915,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
" for( int i = 0; i < MAX_DIR_LIGHTS; i++ ) {",
|
|
|
|
|
|
- " vec4 lDirection = viewMatrix * vec4( directionalLightDirection[ i ], 0.0 );",
|
|
|
- " vec3 dirVector = normalize( lDirection.xyz );",
|
|
|
+ " vec3 dirVector = transformNormal( directionalLightDirection[ i ], viewMatrix );",
|
|
|
|
|
|
// diffuse
|
|
|
|
|
@@ -942,8 +958,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
" for( int i = 0; i < MAX_HEMI_LIGHTS; i ++ ) {",
|
|
|
|
|
|
- " vec4 lDirection = viewMatrix * vec4( hemisphereLightDirection[ i ], 0.0 );",
|
|
|
- " vec3 lVector = normalize( lDirection.xyz );",
|
|
|
+ " vec3 lVector = transformNormal( hemisphereLightDirection[ i ], viewMatrix );",
|
|
|
|
|
|
// diffuse
|
|
|
|
|
@@ -1083,6 +1098,7 @@ THREE.ShaderLib = {
|
|
|
"varying vec3 vWorldPosition;",
|
|
|
"varying vec3 vViewPosition;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "skinning_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "shadowmap_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
@@ -1215,12 +1231,12 @@ THREE.ShaderLib = {
|
|
|
|
|
|
"varying vec3 vWorldPosition;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
|
- " vec4 worldPosition = modelMatrix * vec4( position, 1.0 );",
|
|
|
- " vWorldPosition = worldPosition.xyz;",
|
|
|
+ " vec4 worldPosition = transformNormal( position, modelMatrix );",
|
|
|
|
|
|
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
|
|
|
@@ -1237,6 +1253,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
"varying vec3 vWorldPosition;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
|
|
|
|
|
|
"void main() {",
|
|
@@ -1264,12 +1281,12 @@ THREE.ShaderLib = {
|
|
|
|
|
|
"varying vec3 vWorldPosition;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
|
|
|
|
"void main() {",
|
|
|
|
|
|
- " vec4 worldPosition = modelMatrix * vec4( position, 1.0 );",
|
|
|
- " vWorldPosition = worldPosition.xyz;",
|
|
|
+ " vec4 worldPosition = transformNormal( position, modelMatrix );",
|
|
|
|
|
|
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
|
|
|
@@ -1286,6 +1303,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
"varying vec3 vWorldPosition;",
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
|
|
|
|
|
|
"void main() {",
|
|
@@ -1293,8 +1311,8 @@ THREE.ShaderLib = {
|
|
|
// " gl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );",
|
|
|
"vec3 direction = normalize( vWorldPosition );",
|
|
|
"vec2 sampleUV;",
|
|
|
- "sampleUV.y = clamp( tFlip * direction.y * -0.5 + 0.5, 0.0, 1.0);",
|
|
|
- "sampleUV.x = atan( direction.z, direction.x ) * 0.15915494309189533576888376337251 + 0.5;", // reciprocal( 2 PI ) + 0.5
|
|
|
+ "sampleUV.y = saturate( tFlip * direction.y * -0.5 + 0.5 );",
|
|
|
+ "sampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_2PI + 0.5;",
|
|
|
"gl_FragColor = texture2D( tEquirect, sampleUV );",
|
|
|
|
|
|
THREE.ShaderChunk[ "logdepthbuf_fragment" ],
|
|
@@ -1323,6 +1341,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
vertexShader: [
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "morphtarget_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "skinning_pars_vertex" ],
|
|
|
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
|
|
@@ -1341,6 +1360,7 @@ THREE.ShaderLib = {
|
|
|
|
|
|
fragmentShader: [
|
|
|
|
|
|
+ THREE.ShaderChunk[ "common" ],
|
|
|
THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
|
|
|
|
|
|
"vec4 pack_depth( const in float depth ) {",
|