|
@@ -4,171 +4,166 @@ import { Vector3 } from '../../math/Vector3';
|
|
import { UniformsLib } from './UniformsLib';
|
|
import { UniformsLib } from './UniformsLib';
|
|
import { Color } from '../../math/Color';
|
|
import { Color } from '../../math/Color';
|
|
|
|
|
|
-var ShaderLib;
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
- * Webgl Shader Library for three.js
|
|
|
|
- *
|
|
|
|
* @author alteredq / http://alteredqualia.com/
|
|
* @author alteredq / http://alteredqualia.com/
|
|
* @author mrdoob / http://mrdoob.com/
|
|
* @author mrdoob / http://mrdoob.com/
|
|
* @author mikael emtinger / http://gomo.se/
|
|
* @author mikael emtinger / http://gomo.se/
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
+var ShaderLib = {
|
|
|
|
|
|
-ShaderLib = {
|
|
|
|
-
|
|
|
|
- 'basic': {
|
|
|
|
|
|
+ basic: {
|
|
|
|
|
|
uniforms: UniformsUtils.merge( [
|
|
uniforms: UniformsUtils.merge( [
|
|
|
|
|
|
- UniformsLib[ 'common' ],
|
|
|
|
- UniformsLib[ 'aomap' ],
|
|
|
|
- UniformsLib[ 'fog' ]
|
|
|
|
|
|
+ UniformsLib.common,
|
|
|
|
+ UniformsLib.aomap,
|
|
|
|
+ UniformsLib.fog
|
|
|
|
|
|
] ),
|
|
] ),
|
|
|
|
|
|
- vertexShader: ShaderChunk[ 'meshbasic_vert' ],
|
|
|
|
- fragmentShader: ShaderChunk[ 'meshbasic_frag' ]
|
|
|
|
|
|
+ vertexShader: ShaderChunk.meshbasic_vert,
|
|
|
|
+ fragmentShader: ShaderChunk.meshbasic_frag
|
|
|
|
|
|
},
|
|
},
|
|
|
|
|
|
- 'lambert': {
|
|
|
|
|
|
+ lambert: {
|
|
|
|
|
|
uniforms: UniformsUtils.merge( [
|
|
uniforms: UniformsUtils.merge( [
|
|
|
|
|
|
- UniformsLib[ 'common' ],
|
|
|
|
- UniformsLib[ 'aomap' ],
|
|
|
|
- UniformsLib[ 'lightmap' ],
|
|
|
|
- UniformsLib[ 'emissivemap' ],
|
|
|
|
- UniformsLib[ 'fog' ],
|
|
|
|
- UniformsLib[ 'lights' ],
|
|
|
|
|
|
+ UniformsLib.common,
|
|
|
|
+ UniformsLib.aomap,
|
|
|
|
+ UniformsLib.lightmap,
|
|
|
|
+ UniformsLib.emissivemap,
|
|
|
|
+ UniformsLib.fog,
|
|
|
|
+ UniformsLib.lights,
|
|
|
|
|
|
{
|
|
{
|
|
- "emissive" : { value: new Color( 0x000000 ) }
|
|
|
|
|
|
+ emissive : { value: new Color( 0x000000 ) }
|
|
}
|
|
}
|
|
|
|
|
|
] ),
|
|
] ),
|
|
|
|
|
|
- vertexShader: ShaderChunk[ 'meshlambert_vert' ],
|
|
|
|
- fragmentShader: ShaderChunk[ 'meshlambert_frag' ]
|
|
|
|
|
|
+ vertexShader: ShaderChunk.meshlambert_vert,
|
|
|
|
+ fragmentShader: ShaderChunk.meshlambert_frag
|
|
|
|
|
|
},
|
|
},
|
|
|
|
|
|
- 'phong': {
|
|
|
|
|
|
+ phong: {
|
|
|
|
|
|
uniforms: UniformsUtils.merge( [
|
|
uniforms: UniformsUtils.merge( [
|
|
|
|
|
|
- UniformsLib[ 'common' ],
|
|
|
|
- UniformsLib[ 'aomap' ],
|
|
|
|
- UniformsLib[ 'lightmap' ],
|
|
|
|
- UniformsLib[ 'emissivemap' ],
|
|
|
|
- UniformsLib[ 'bumpmap' ],
|
|
|
|
- UniformsLib[ 'normalmap' ],
|
|
|
|
- UniformsLib[ 'displacementmap' ],
|
|
|
|
- UniformsLib[ 'fog' ],
|
|
|
|
- UniformsLib[ 'lights' ],
|
|
|
|
|
|
+ UniformsLib.common,
|
|
|
|
+ UniformsLib.aomap,
|
|
|
|
+ UniformsLib.lightmap,
|
|
|
|
+ UniformsLib.emissivemap,
|
|
|
|
+ UniformsLib.bumpmap,
|
|
|
|
+ UniformsLib.normalmap,
|
|
|
|
+ UniformsLib.displacementmap,
|
|
|
|
+ UniformsLib.fog,
|
|
|
|
+ UniformsLib.lights,
|
|
|
|
|
|
{
|
|
{
|
|
- "emissive" : { value: new Color( 0x000000 ) },
|
|
|
|
- "specular" : { value: new Color( 0x111111 ) },
|
|
|
|
- "shininess": { value: 30 }
|
|
|
|
|
|
+ emissive : { value: new Color( 0x000000 ) },
|
|
|
|
+ specular : { value: new Color( 0x111111 ) },
|
|
|
|
+ shininess: { value: 30 }
|
|
}
|
|
}
|
|
|
|
|
|
] ),
|
|
] ),
|
|
|
|
|
|
- vertexShader: ShaderChunk[ 'meshphong_vert' ],
|
|
|
|
- fragmentShader: ShaderChunk[ 'meshphong_frag' ]
|
|
|
|
|
|
+ vertexShader: ShaderChunk.meshphong_vert,
|
|
|
|
+ fragmentShader: ShaderChunk.meshphong_frag
|
|
|
|
|
|
},
|
|
},
|
|
|
|
|
|
- 'standard': {
|
|
|
|
|
|
+ standard: {
|
|
|
|
|
|
uniforms: UniformsUtils.merge( [
|
|
uniforms: UniformsUtils.merge( [
|
|
|
|
|
|
- UniformsLib[ 'common' ],
|
|
|
|
- UniformsLib[ 'aomap' ],
|
|
|
|
- UniformsLib[ 'lightmap' ],
|
|
|
|
- UniformsLib[ 'emissivemap' ],
|
|
|
|
- UniformsLib[ 'bumpmap' ],
|
|
|
|
- UniformsLib[ 'normalmap' ],
|
|
|
|
- UniformsLib[ 'displacementmap' ],
|
|
|
|
- UniformsLib[ 'roughnessmap' ],
|
|
|
|
- UniformsLib[ 'metalnessmap' ],
|
|
|
|
- UniformsLib[ 'fog' ],
|
|
|
|
- UniformsLib[ 'lights' ],
|
|
|
|
|
|
+ UniformsLib.common,
|
|
|
|
+ UniformsLib.aomap,
|
|
|
|
+ UniformsLib.lightmap,
|
|
|
|
+ UniformsLib.emissivemap,
|
|
|
|
+ UniformsLib.bumpmap,
|
|
|
|
+ UniformsLib.normalmap,
|
|
|
|
+ UniformsLib.displacementmap,
|
|
|
|
+ UniformsLib.roughnessmap,
|
|
|
|
+ UniformsLib.metalnessmap,
|
|
|
|
+ UniformsLib.fog,
|
|
|
|
+ UniformsLib.lights,
|
|
|
|
|
|
{
|
|
{
|
|
- "emissive" : { value: new Color( 0x000000 ) },
|
|
|
|
- "roughness": { value: 0.5 },
|
|
|
|
- "metalness": { value: 0 },
|
|
|
|
- "envMapIntensity" : { value: 1 }, // temporary
|
|
|
|
|
|
+ emissive : { value: new Color( 0x000000 ) },
|
|
|
|
+ roughness: { value: 0.5 },
|
|
|
|
+ metalness: { value: 0 },
|
|
|
|
+ envMapIntensity : { value: 1 }, // temporary
|
|
}
|
|
}
|
|
|
|
|
|
] ),
|
|
] ),
|
|
|
|
|
|
- vertexShader: ShaderChunk[ 'meshphysical_vert' ],
|
|
|
|
- fragmentShader: ShaderChunk[ 'meshphysical_frag' ]
|
|
|
|
|
|
+ vertexShader: ShaderChunk.meshphysical_vert,
|
|
|
|
+ fragmentShader: ShaderChunk.meshphysical_frag
|
|
|
|
|
|
},
|
|
},
|
|
|
|
|
|
- 'points': {
|
|
|
|
|
|
+ points: {
|
|
|
|
|
|
uniforms: UniformsUtils.merge( [
|
|
uniforms: UniformsUtils.merge( [
|
|
|
|
|
|
- UniformsLib[ 'points' ],
|
|
|
|
- UniformsLib[ 'fog' ]
|
|
|
|
|
|
+ UniformsLib.points,
|
|
|
|
+ UniformsLib.fog
|
|
|
|
|
|
] ),
|
|
] ),
|
|
|
|
|
|
- vertexShader: ShaderChunk[ 'points_vert' ],
|
|
|
|
- fragmentShader: ShaderChunk[ 'points_frag' ]
|
|
|
|
|
|
+ vertexShader: ShaderChunk.points_vert,
|
|
|
|
+ fragmentShader: ShaderChunk.points_frag
|
|
|
|
|
|
},
|
|
},
|
|
|
|
|
|
- 'dashed': {
|
|
|
|
|
|
+ dashed: {
|
|
|
|
|
|
uniforms: UniformsUtils.merge( [
|
|
uniforms: UniformsUtils.merge( [
|
|
|
|
|
|
- UniformsLib[ 'common' ],
|
|
|
|
- UniformsLib[ 'fog' ],
|
|
|
|
|
|
+ UniformsLib.common,
|
|
|
|
+ UniformsLib.fog,
|
|
|
|
|
|
{
|
|
{
|
|
- "scale" : { value: 1 },
|
|
|
|
- "dashSize" : { value: 1 },
|
|
|
|
- "totalSize": { value: 2 }
|
|
|
|
|
|
+ scale : { value: 1 },
|
|
|
|
+ dashSize : { value: 1 },
|
|
|
|
+ totalSize: { value: 2 }
|
|
}
|
|
}
|
|
|
|
|
|
] ),
|
|
] ),
|
|
|
|
|
|
- vertexShader: ShaderChunk[ 'linedashed_vert' ],
|
|
|
|
- fragmentShader: ShaderChunk[ 'linedashed_frag' ]
|
|
|
|
|
|
+ vertexShader: ShaderChunk.linedashed_vert,
|
|
|
|
+ fragmentShader: ShaderChunk.linedashed_frag
|
|
|
|
|
|
},
|
|
},
|
|
|
|
|
|
- 'depth': {
|
|
|
|
|
|
+ depth: {
|
|
|
|
|
|
uniforms: UniformsUtils.merge( [
|
|
uniforms: UniformsUtils.merge( [
|
|
|
|
|
|
- UniformsLib[ 'common' ],
|
|
|
|
- UniformsLib[ 'displacementmap' ]
|
|
|
|
|
|
+ UniformsLib.common,
|
|
|
|
+ UniformsLib.displacementmap
|
|
|
|
|
|
] ),
|
|
] ),
|
|
|
|
|
|
- vertexShader: ShaderChunk[ 'depth_vert' ],
|
|
|
|
- fragmentShader: ShaderChunk[ 'depth_frag' ]
|
|
|
|
|
|
+ vertexShader: ShaderChunk.depth_vert,
|
|
|
|
+ fragmentShader: ShaderChunk.depth_frag
|
|
|
|
|
|
},
|
|
},
|
|
|
|
|
|
- 'normal': {
|
|
|
|
|
|
+ normal: {
|
|
|
|
|
|
uniforms: {
|
|
uniforms: {
|
|
|
|
|
|
- "opacity" : { value: 1.0 }
|
|
|
|
|
|
+ opacity : { value: 1.0 }
|
|
|
|
|
|
},
|
|
},
|
|
|
|
|
|
- vertexShader: ShaderChunk[ 'normal_vert' ],
|
|
|
|
- fragmentShader: ShaderChunk[ 'normal_frag' ]
|
|
|
|
|
|
+ vertexShader: ShaderChunk.normal_vert,
|
|
|
|
+ fragmentShader: ShaderChunk.normal_frag
|
|
|
|
|
|
},
|
|
},
|
|
|
|
|
|
@@ -176,16 +171,16 @@ ShaderLib = {
|
|
// Cube map shader
|
|
// Cube map shader
|
|
------------------------------------------------------------------------- */
|
|
------------------------------------------------------------------------- */
|
|
|
|
|
|
- 'cube': {
|
|
|
|
|
|
+ cube: {
|
|
|
|
|
|
uniforms: {
|
|
uniforms: {
|
|
- "tCube": { value: null },
|
|
|
|
- "tFlip": { value: - 1 },
|
|
|
|
- "opacity": { value: 1.0 }
|
|
|
|
|
|
+ tCube: { value: null },
|
|
|
|
+ tFlip: { value: - 1 },
|
|
|
|
+ opacity: { value: 1.0 }
|
|
},
|
|
},
|
|
|
|
|
|
- vertexShader: ShaderChunk[ 'cube_vert' ],
|
|
|
|
- fragmentShader: ShaderChunk[ 'cube_frag' ]
|
|
|
|
|
|
+ vertexShader: ShaderChunk.cube_vert,
|
|
|
|
+ fragmentShader: ShaderChunk.cube_frag
|
|
|
|
|
|
},
|
|
},
|
|
|
|
|
|
@@ -193,50 +188,50 @@ ShaderLib = {
|
|
// Cube map shader
|
|
// Cube map shader
|
|
------------------------------------------------------------------------- */
|
|
------------------------------------------------------------------------- */
|
|
|
|
|
|
- 'equirect': {
|
|
|
|
|
|
+ equirect: {
|
|
|
|
|
|
uniforms: {
|
|
uniforms: {
|
|
- "tEquirect": { value: null },
|
|
|
|
- "tFlip": { value: - 1 }
|
|
|
|
|
|
+ tEquirect: { value: null },
|
|
|
|
+ tFlip: { value: - 1 }
|
|
},
|
|
},
|
|
|
|
|
|
- vertexShader: ShaderChunk[ 'equirect_vert' ],
|
|
|
|
- fragmentShader: ShaderChunk[ 'equirect_frag' ]
|
|
|
|
|
|
+ vertexShader: ShaderChunk.equirect_vert,
|
|
|
|
+ fragmentShader: ShaderChunk.equirect_frag
|
|
|
|
|
|
},
|
|
},
|
|
|
|
|
|
- 'distanceRGBA': {
|
|
|
|
|
|
+ distanceRGBA: {
|
|
|
|
|
|
uniforms: {
|
|
uniforms: {
|
|
|
|
|
|
- "lightPos": { value: new Vector3() }
|
|
|
|
|
|
+ lightPos: { value: new Vector3() }
|
|
|
|
|
|
},
|
|
},
|
|
|
|
|
|
- vertexShader: ShaderChunk[ 'distanceRGBA_vert' ],
|
|
|
|
- fragmentShader: ShaderChunk[ 'distanceRGBA_frag' ]
|
|
|
|
|
|
+ vertexShader: ShaderChunk.distanceRGBA_vert,
|
|
|
|
+ fragmentShader: ShaderChunk.distanceRGBA_frag
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
};
|
|
};
|
|
|
|
|
|
-ShaderLib[ 'physical' ] = {
|
|
|
|
|
|
+ShaderLib.physical = {
|
|
|
|
|
|
uniforms: UniformsUtils.merge( [
|
|
uniforms: UniformsUtils.merge( [
|
|
|
|
|
|
- ShaderLib[ 'standard' ].uniforms,
|
|
|
|
|
|
+ ShaderLib.standard.uniforms,
|
|
|
|
|
|
{
|
|
{
|
|
- "clearCoat": { value: 0 },
|
|
|
|
- "clearCoatRoughness": { value: 0 }
|
|
|
|
|
|
+ clearCoat: { value: 0 },
|
|
|
|
+ clearCoatRoughness: { value: 0 }
|
|
}
|
|
}
|
|
|
|
|
|
] ),
|
|
] ),
|
|
|
|
|
|
- vertexShader: ShaderChunk[ 'meshphysical_vert' ],
|
|
|
|
- fragmentShader: ShaderChunk[ 'meshphysical_frag' ]
|
|
|
|
|
|
+ vertexShader: ShaderChunk.meshphysical_vert,
|
|
|
|
+ fragmentShader: ShaderChunk.meshphysical_frag
|
|
|
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
-export { ShaderLib };
|
|
|
|
|
|
+export { ShaderLib };
|