123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361 |
- import { ShaderChunk } from './ShaderChunk.js';
- import { mergeUniforms } from './UniformsUtils.js';
- import { Vector2 } from '../../math/Vector2.js';
- import { Vector3 } from '../../math/Vector3.js';
- import { UniformsLib } from './UniformsLib.js';
- import { Color } from '../../math/Color.js';
- import { Matrix3 } from '../../math/Matrix3.js';
- const ShaderLib = {
- basic: {
- uniforms: /*@__PURE__*/ mergeUniforms( [
- UniformsLib.common,
- UniformsLib.specularmap,
- UniformsLib.envmap,
- UniformsLib.aomap,
- UniformsLib.lightmap,
- UniformsLib.fog
- ] ),
- vertexShader: ShaderChunk.meshbasic_vert,
- fragmentShader: ShaderChunk.meshbasic_frag
- },
- lambert: {
- uniforms: /*@__PURE__*/ mergeUniforms( [
- UniformsLib.common,
- UniformsLib.specularmap,
- UniformsLib.envmap,
- UniformsLib.aomap,
- UniformsLib.lightmap,
- UniformsLib.emissivemap,
- UniformsLib.bumpmap,
- UniformsLib.normalmap,
- UniformsLib.displacementmap,
- UniformsLib.fog,
- UniformsLib.lights,
- {
- emissive: { value: /*@__PURE__*/ new Color( 0x000000 ) }
- }
- ] ),
- vertexShader: ShaderChunk.meshlambert_vert,
- fragmentShader: ShaderChunk.meshlambert_frag
- },
- phong: {
- uniforms: /*@__PURE__*/ mergeUniforms( [
- UniformsLib.common,
- UniformsLib.specularmap,
- UniformsLib.envmap,
- UniformsLib.aomap,
- UniformsLib.lightmap,
- UniformsLib.emissivemap,
- UniformsLib.bumpmap,
- UniformsLib.normalmap,
- UniformsLib.displacementmap,
- UniformsLib.fog,
- UniformsLib.lights,
- {
- emissive: { value: /*@__PURE__*/ new Color( 0x000000 ) },
- specular: { value: /*@__PURE__*/ new Color( 0x111111 ) },
- shininess: { value: 30 }
- }
- ] ),
- vertexShader: ShaderChunk.meshphong_vert,
- fragmentShader: ShaderChunk.meshphong_frag
- },
- standard: {
- uniforms: /*@__PURE__*/ mergeUniforms( [
- UniformsLib.common,
- UniformsLib.envmap,
- UniformsLib.aomap,
- UniformsLib.lightmap,
- UniformsLib.emissivemap,
- UniformsLib.bumpmap,
- UniformsLib.normalmap,
- UniformsLib.displacementmap,
- UniformsLib.roughnessmap,
- UniformsLib.metalnessmap,
- UniformsLib.fog,
- UniformsLib.lights,
- {
- emissive: { value: /*@__PURE__*/ new Color( 0x000000 ) },
- roughness: { value: 1.0 },
- metalness: { value: 0.0 },
- envMapIntensity: { value: 1 }
- }
- ] ),
- vertexShader: ShaderChunk.meshphysical_vert,
- fragmentShader: ShaderChunk.meshphysical_frag
- },
- toon: {
- uniforms: /*@__PURE__*/ mergeUniforms( [
- UniformsLib.common,
- UniformsLib.aomap,
- UniformsLib.lightmap,
- UniformsLib.emissivemap,
- UniformsLib.bumpmap,
- UniformsLib.normalmap,
- UniformsLib.displacementmap,
- UniformsLib.gradientmap,
- UniformsLib.fog,
- UniformsLib.lights,
- {
- emissive: { value: /*@__PURE__*/ new Color( 0x000000 ) }
- }
- ] ),
- vertexShader: ShaderChunk.meshtoon_vert,
- fragmentShader: ShaderChunk.meshtoon_frag
- },
- matcap: {
- uniforms: /*@__PURE__*/ mergeUniforms( [
- UniformsLib.common,
- UniformsLib.bumpmap,
- UniformsLib.normalmap,
- UniformsLib.displacementmap,
- UniformsLib.fog,
- {
- matcap: { value: null }
- }
- ] ),
- vertexShader: ShaderChunk.meshmatcap_vert,
- fragmentShader: ShaderChunk.meshmatcap_frag
- },
- points: {
- uniforms: /*@__PURE__*/ mergeUniforms( [
- UniformsLib.points,
- UniformsLib.fog
- ] ),
- vertexShader: ShaderChunk.points_vert,
- fragmentShader: ShaderChunk.points_frag
- },
- dashed: {
- uniforms: /*@__PURE__*/ mergeUniforms( [
- UniformsLib.common,
- UniformsLib.fog,
- {
- scale: { value: 1 },
- dashSize: { value: 1 },
- totalSize: { value: 2 }
- }
- ] ),
- vertexShader: ShaderChunk.linedashed_vert,
- fragmentShader: ShaderChunk.linedashed_frag
- },
- depth: {
- uniforms: /*@__PURE__*/ mergeUniforms( [
- UniformsLib.common,
- UniformsLib.displacementmap
- ] ),
- vertexShader: ShaderChunk.depth_vert,
- fragmentShader: ShaderChunk.depth_frag
- },
- normal: {
- uniforms: /*@__PURE__*/ mergeUniforms( [
- UniformsLib.common,
- UniformsLib.bumpmap,
- UniformsLib.normalmap,
- UniformsLib.displacementmap,
- {
- opacity: { value: 1.0 }
- }
- ] ),
- vertexShader: ShaderChunk.meshnormal_vert,
- fragmentShader: ShaderChunk.meshnormal_frag
- },
- sprite: {
- uniforms: /*@__PURE__*/ mergeUniforms( [
- UniformsLib.sprite,
- UniformsLib.fog
- ] ),
- vertexShader: ShaderChunk.sprite_vert,
- fragmentShader: ShaderChunk.sprite_frag
- },
- background: {
- uniforms: {
- uvTransform: { value: /*@__PURE__*/ new Matrix3() },
- t2D: { value: null },
- backgroundIntensity: { value: 1 }
- },
- vertexShader: ShaderChunk.background_vert,
- fragmentShader: ShaderChunk.background_frag
- },
- backgroundCube: {
- uniforms: {
- envMap: { value: null },
- flipEnvMap: { value: - 1 },
- backgroundBlurriness: { value: 0 },
- backgroundIntensity: { value: 1 },
- backgroundRotation: { value: /*@__PURE__*/ new Matrix3() }
- },
- vertexShader: ShaderChunk.backgroundCube_vert,
- fragmentShader: ShaderChunk.backgroundCube_frag
- },
- cube: {
- uniforms: {
- tCube: { value: null },
- tFlip: { value: - 1 },
- opacity: { value: 1.0 }
- },
- vertexShader: ShaderChunk.cube_vert,
- fragmentShader: ShaderChunk.cube_frag
- },
- equirect: {
- uniforms: {
- tEquirect: { value: null },
- },
- vertexShader: ShaderChunk.equirect_vert,
- fragmentShader: ShaderChunk.equirect_frag
- },
- distanceRGBA: {
- uniforms: /*@__PURE__*/ mergeUniforms( [
- UniformsLib.common,
- UniformsLib.displacementmap,
- {
- referencePosition: { value: /*@__PURE__*/ new Vector3() },
- nearDistance: { value: 1 },
- farDistance: { value: 1000 }
- }
- ] ),
- vertexShader: ShaderChunk.distanceRGBA_vert,
- fragmentShader: ShaderChunk.distanceRGBA_frag
- },
- shadow: {
- uniforms: /*@__PURE__*/ mergeUniforms( [
- UniformsLib.lights,
- UniformsLib.fog,
- {
- color: { value: /*@__PURE__*/ new Color( 0x00000 ) },
- opacity: { value: 1.0 }
- },
- ] ),
- vertexShader: ShaderChunk.shadow_vert,
- fragmentShader: ShaderChunk.shadow_frag
- }
- };
- ShaderLib.physical = {
- uniforms: /*@__PURE__*/ mergeUniforms( [
- ShaderLib.standard.uniforms,
- {
- clearcoat: { value: 0 },
- clearcoatMap: { value: null },
- clearcoatMapTransform: { value: /*@__PURE__*/ new Matrix3() },
- clearcoatNormalMap: { value: null },
- clearcoatNormalMapTransform: { value: /*@__PURE__*/ new Matrix3() },
- clearcoatNormalScale: { value: /*@__PURE__*/ new Vector2( 1, 1 ) },
- clearcoatRoughness: { value: 0 },
- clearcoatRoughnessMap: { value: null },
- clearcoatRoughnessMapTransform: { value: /*@__PURE__*/ new Matrix3() },
- dispersion: { value: 0 },
- iridescence: { value: 0 },
- iridescenceMap: { value: null },
- iridescenceMapTransform: { value: /*@__PURE__*/ new Matrix3() },
- iridescenceIOR: { value: 1.3 },
- iridescenceThicknessMinimum: { value: 100 },
- iridescenceThicknessMaximum: { value: 400 },
- iridescenceThicknessMap: { value: null },
- iridescenceThicknessMapTransform: { value: /*@__PURE__*/ new Matrix3() },
- sheen: { value: 0 },
- sheenColor: { value: /*@__PURE__*/ new Color( 0x000000 ) },
- sheenColorMap: { value: null },
- sheenColorMapTransform: { value: /*@__PURE__*/ new Matrix3() },
- sheenRoughness: { value: 1 },
- sheenRoughnessMap: { value: null },
- sheenRoughnessMapTransform: { value: /*@__PURE__*/ new Matrix3() },
- transmission: { value: 0 },
- transmissionMap: { value: null },
- transmissionMapTransform: { value: /*@__PURE__*/ new Matrix3() },
- transmissionSamplerSize: { value: /*@__PURE__*/ new Vector2() },
- transmissionSamplerMap: { value: null },
- thickness: { value: 0 },
- thicknessMap: { value: null },
- thicknessMapTransform: { value: /*@__PURE__*/ new Matrix3() },
- attenuationDistance: { value: 0 },
- attenuationColor: { value: /*@__PURE__*/ new Color( 0x000000 ) },
- specularColor: { value: /*@__PURE__*/ new Color( 1, 1, 1 ) },
- specularColorMap: { value: null },
- specularColorMapTransform: { value: /*@__PURE__*/ new Matrix3() },
- specularIntensity: { value: 1 },
- specularIntensityMap: { value: null },
- specularIntensityMapTransform: { value: /*@__PURE__*/ new Matrix3() },
- anisotropyVector: { value: /*@__PURE__*/ new Vector2() },
- anisotropyMap: { value: null },
- anisotropyMapTransform: { value: /*@__PURE__*/ new Matrix3() },
- }
- ] ),
- vertexShader: ShaderChunk.meshphysical_vert,
- fragmentShader: ShaderChunk.meshphysical_frag
- };
- export { ShaderLib };
|