@anov/3d-ability 0.0.83 → 0.0.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -61,12 +61,6 @@ export var injectToRealFade = function injectToRealFade(object, uniforms) {
61
61
  object.traverse(function (child) {
62
62
  if (child.isMesh) {
63
63
  var newMaterial = child.material.clone();
64
- newMaterial.transparent = true;
65
- newMaterial.depthTest = true;
66
- newMaterial.depthWrite = true;
67
- newMaterial.polygonOffset = true;
68
- newMaterial.polygonOffsetFactor = 1;
69
- newMaterial.polygonOffsetUnits = 1;
70
64
  newMaterial.onBeforeCompile = function (shader) {
71
65
  shader.uniforms = _objectSpread(_objectSpread({}, shader.uniforms), {}, {
72
66
  progress: uniforms.progress,
@@ -1 +1 @@
1
- {"version":3,"names":["AdditiveBlending","Color","MeshStandardMaterial","frag","frag_pre","ver","ver_pre","fragFinal","verFinal","disposeMaterial","material","map","dispose","lightMap","bumpMap","normalMap","specularMap","envMap","emissiveMap","injectToFrameFade","object","uniforms","traverse","child","isMesh","clone","side","transparent","depthTest","depthWrite","blending","polygonOffset","polygonOffsetFactor","polygonOffsetUnits","onBeforeCompile","shader","_objectSpread","progress","addOpacity","value","objSize","maxSize","isFadeIn","isFrameFadeIn","vertexShader","fragmentShader","injectToRealFade","newMaterial","isRealFadeIn","replace","needsUpdate","customProgramCacheKey","concat","injectToBaseWrite","color","isPureFadeIn","rimColor","rimPower","injectToFinirMaterial","isFresnelFadeIn"],"sources":["../../../src/business/MaterialSwitch/inject.ts"],"sourcesContent":["import { AdditiveBlending, Color, MeshStandardMaterial, type Object3D } from '@anov/3d-core'\nimport { frag, frag_pre, ver, ver_pre } from './realFade'\nimport { frag as fragFinal, ver as verFinal } from './finalFade'\n\nexport const disposeMaterial = (material) => {\n if (material.map)\n material.map.dispose()\n if (material.lightMap)\n material.lightMap.dispose()\n if (material.bumpMap)\n material.bumpMap.dispose()\n if (material.normalMap)\n material.normalMap.dispose()\n if (material.specularMap)\n material.specularMap.dispose()\n if (material.envMap)\n material.envMap.dispose()\n if (material.emissiveMap)\n material.emissiveMap.dispose()\n material.dispose()\n}\n\n/**\n * inject to final fade\n * @param object\n * @param maxSize\n * @param uniforms\n */\nexport const injectToFrameFade = (object: Object3D, uniforms: { maxSize: { value: number }; progress: { value: number }; isFrameFadeIn: { value: boolean } }) => {\n object.traverse((child: any) => {\n if (child.isMesh) {\n child.material = child.material.clone()\n child.material.side = 2\n child.material.transparent = true\n child.material.depthTest = false\n child.material.depthWrite = true\n child.material.blending = AdditiveBlending\n\n child.material.polygonOffset = true\n child.material.polygonOffsetFactor = 0\n child.material.polygonOffsetUnits = 0\n\n child.material.onBeforeCompile = (shader) => {\n shader.uniforms = {\n ...shader.uniforms,\n progress: uniforms.progress,\n addOpacity: { value: 0.7 },\n objSize: uniforms.maxSize,\n isFadeIn: uniforms.isFrameFadeIn,\n }\n shader.vertexShader = verFinal\n shader.fragmentShader = fragFinal\n }\n }\n })\n}\n\n/**\n * inject to real fade\n * @param object\n * @param uniforms\n */\nexport const injectToRealFade = (object: Object3D, uniforms: { maxSize: { value: number }; progress: { value: number }; isRealFadeIn: { value: boolean } }) => {\n object.traverse((child: any) => {\n if (child.isMesh) {\n const newMaterial = child.material.clone()\n newMaterial.transparent = true\n newMaterial.depthTest = true\n newMaterial.depthWrite = true\n newMaterial.polygonOffset = true\n newMaterial.polygonOffsetFactor = 1\n newMaterial.polygonOffsetUnits = 1\n\n newMaterial.onBeforeCompile = (shader) => {\n shader.uniforms = {\n ...shader.uniforms,\n progress: uniforms.progress,\n objSize: uniforms.maxSize,\n isFadeIn: uniforms.isRealFadeIn,\n }\n\n shader.vertexShader = ver_pre + shader.vertexShader\n shader.vertexShader = shader.vertexShader.replace(\n '#include <begin_vertex>', ver,\n )\n shader.fragmentShader = frag_pre + shader.fragmentShader\n shader.fragmentShader = shader.fragmentShader.replace(\n '#include <map_fragment>', frag,\n )\n }\n\n newMaterial.needsUpdate = true\n newMaterial.customProgramCacheKey = () => `${ver}-${frag}`\n\n child.material = newMaterial\n }\n })\n}\n\n/**\n * inject to base write\n * @param object\n * @param uniforms\n */\nexport const injectToBaseWrite = (object: Object3D, uniforms: { maxSize: { value: number }; progress: { value: number }; isPureFadeIn: { value: boolean } }) => {\n object.traverse((child: any) => {\n if (child.isMesh) {\n let newMaterial = child.material.clone()\n newMaterial = new MeshStandardMaterial({ color: new Color('#fff') })\n newMaterial.transparent = true\n newMaterial.depthTest = true\n newMaterial.depthWrite = true\n newMaterial.polygonOffset = true\n newMaterial.polygonOffsetFactor = 2\n newMaterial.polygonOffsetUnits = 2\n\n newMaterial.onBeforeCompile = (shader) => {\n shader.uniforms = {\n ...shader.uniforms,\n progress: uniforms.progress,\n objSize: uniforms.maxSize,\n isFadeIn: uniforms.isPureFadeIn,\n }\n\n shader.vertexShader = ver_pre + shader.vertexShader\n shader.vertexShader = shader.vertexShader.replace(\n '#include <begin_vertex>', ver,\n )\n shader.fragmentShader = frag_pre + shader.fragmentShader\n shader.fragmentShader = shader.fragmentShader.replace(\n '#include <map_fragment>', frag,\n )\n\n shader.uniforms.rimColor = { value: new Color('#fff') }\n shader.uniforms.rimPower = { value: 0.7 }\n\n shader.fragmentShader = /* glsl */`\n uniform vec3 rimColor;\n uniform float rimPower;\n ${shader.fragmentShader.replace(\n '#include <dithering_fragment>',\n '#include <dithering_fragment>\\n\\t'\n + 'float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\\n\\t'\n + 'gl_FragColor.rgb += rimPower*dotNV*rimColor;',\n )}\n `\n }\n\n newMaterial.needsUpdate = true\n newMaterial.customProgramCacheKey = () => `${ver}-${frag}`\n\n child.material = newMaterial\n }\n })\n}\n\n/**\n * inject to finir material\n * @param object\n * @param uniforms\n */\nexport const injectToFinirMaterial = (object: Object3D, uniforms: { maxSize: { value: number }; progress: { value: number }; isFresnelFadeIn: { value: boolean } }) => {\n object.traverse((child: any) => {\n if (child.isMesh) {\n let newMaterial = child.material.clone()\n newMaterial = new MeshStandardMaterial({ color: new Color('#000') })\n newMaterial.transparent = true\n newMaterial.depthTest = true\n newMaterial.depthWrite = true\n newMaterial.polygonOffset = true\n newMaterial.polygonOffsetFactor = 3\n newMaterial.polygonOffsetUnits = 3\n\n newMaterial.onBeforeCompile = (shader) => {\n shader.uniforms = {\n ...shader.uniforms,\n progress: uniforms.progress,\n objSize: uniforms.maxSize,\n isFadeIn: uniforms.isFresnelFadeIn,\n }\n\n shader.vertexShader = ver_pre + shader.vertexShader\n shader.vertexShader = shader.vertexShader.replace(\n '#include <begin_vertex>', ver,\n )\n shader.fragmentShader = frag_pre + shader.fragmentShader\n shader.fragmentShader = shader.fragmentShader.replace(\n '#include <map_fragment>', frag,\n )\n\n shader.uniforms.rimColor = { value: new Color('#2364B7') }\n shader.uniforms.rimPower = { value: 0.7 }\n\n shader.fragmentShader = /* glsl */`\n uniform vec3 rimColor;\n uniform float rimPower;\n ${shader.fragmentShader.replace(\n '#include <dithering_fragment>',\n '#include <dithering_fragment>\\n\\t'\n + 'float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\\n\\t'\n + 'gl_FragColor.rgb += rimPower*dotNV*rimColor;',\n )}\n `\n }\n\n newMaterial.needsUpdate = true\n newMaterial.customProgramCacheKey = () => `${ver}-${frag}`\n\n child.material = newMaterial\n }\n })\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["AdditiveBlending","Color","MeshStandardMaterial","frag","frag_pre","ver","ver_pre","fragFinal","verFinal","disposeMaterial","material","map","dispose","lightMap","bumpMap","normalMap","specularMap","envMap","emissiveMap","injectToFrameFade","object","uniforms","traverse","child","isMesh","clone","side","transparent","depthTest","depthWrite","blending","polygonOffset","polygonOffsetFactor","polygonOffsetUnits","onBeforeCompile","shader","_objectSpread","progress","addOpacity","value","objSize","maxSize","isFadeIn","isFrameFadeIn","vertexShader","fragmentShader","injectToRealFade","newMaterial","isRealFadeIn","replace","needsUpdate","customProgramCacheKey","concat","injectToBaseWrite","color","isPureFadeIn","rimColor","rimPower","injectToFinirMaterial","isFresnelFadeIn"],"sources":["../../../src/business/MaterialSwitch/inject.ts"],"sourcesContent":["import { AdditiveBlending, Color, MeshStandardMaterial, type Object3D } from '@anov/3d-core'\nimport { frag, frag_pre, ver, ver_pre } from './realFade'\nimport { frag as fragFinal, ver as verFinal } from './finalFade'\n\nexport const disposeMaterial = (material) => {\n if (material.map)\n material.map.dispose()\n if (material.lightMap)\n material.lightMap.dispose()\n if (material.bumpMap)\n material.bumpMap.dispose()\n if (material.normalMap)\n material.normalMap.dispose()\n if (material.specularMap)\n material.specularMap.dispose()\n if (material.envMap)\n material.envMap.dispose()\n if (material.emissiveMap)\n material.emissiveMap.dispose()\n material.dispose()\n}\n\n/**\n * inject to final fade\n * @param object\n * @param maxSize\n * @param uniforms\n */\nexport const injectToFrameFade = (object: Object3D, uniforms: { maxSize: { value: number }; progress: { value: number }; isFrameFadeIn: { value: boolean } }) => {\n object.traverse((child: any) => {\n if (child.isMesh) {\n child.material = child.material.clone()\n child.material.side = 2\n child.material.transparent = true\n child.material.depthTest = false\n child.material.depthWrite = true\n child.material.blending = AdditiveBlending\n\n child.material.polygonOffset = true\n child.material.polygonOffsetFactor = 0\n child.material.polygonOffsetUnits = 0\n\n child.material.onBeforeCompile = (shader) => {\n shader.uniforms = {\n ...shader.uniforms,\n progress: uniforms.progress,\n addOpacity: { value: 0.7 },\n objSize: uniforms.maxSize,\n isFadeIn: uniforms.isFrameFadeIn,\n }\n shader.vertexShader = verFinal\n shader.fragmentShader = fragFinal\n }\n }\n })\n}\n\n/**\n * inject to real fade\n * @param object\n * @param uniforms\n */\nexport const injectToRealFade = (object: Object3D, uniforms: { maxSize: { value: number }; progress: { value: number }; isRealFadeIn: { value: boolean } }) => {\n object.traverse((child: any) => {\n if (child.isMesh) {\n const newMaterial = child.material.clone()\n\n newMaterial.onBeforeCompile = (shader) => {\n shader.uniforms = {\n ...shader.uniforms,\n progress: uniforms.progress,\n objSize: uniforms.maxSize,\n isFadeIn: uniforms.isRealFadeIn,\n }\n\n shader.vertexShader = ver_pre + shader.vertexShader\n shader.vertexShader = shader.vertexShader.replace(\n '#include <begin_vertex>', ver,\n )\n shader.fragmentShader = frag_pre + shader.fragmentShader\n shader.fragmentShader = shader.fragmentShader.replace(\n '#include <map_fragment>', frag,\n )\n }\n\n newMaterial.needsUpdate = true\n newMaterial.customProgramCacheKey = () => `${ver}-${frag}`\n\n child.material = newMaterial\n }\n })\n}\n\n/**\n * inject to base write\n * @param object\n * @param uniforms\n */\nexport const injectToBaseWrite = (object: Object3D, uniforms: { maxSize: { value: number }; progress: { value: number }; isPureFadeIn: { value: boolean } }) => {\n object.traverse((child: any) => {\n if (child.isMesh) {\n let newMaterial = child.material.clone()\n newMaterial = new MeshStandardMaterial({ color: new Color('#fff') })\n newMaterial.transparent = true\n newMaterial.depthTest = true\n newMaterial.depthWrite = true\n newMaterial.polygonOffset = true\n newMaterial.polygonOffsetFactor = 2\n newMaterial.polygonOffsetUnits = 2\n\n newMaterial.onBeforeCompile = (shader) => {\n shader.uniforms = {\n ...shader.uniforms,\n progress: uniforms.progress,\n objSize: uniforms.maxSize,\n isFadeIn: uniforms.isPureFadeIn,\n }\n\n shader.vertexShader = ver_pre + shader.vertexShader\n shader.vertexShader = shader.vertexShader.replace(\n '#include <begin_vertex>', ver,\n )\n shader.fragmentShader = frag_pre + shader.fragmentShader\n shader.fragmentShader = shader.fragmentShader.replace(\n '#include <map_fragment>', frag,\n )\n\n shader.uniforms.rimColor = { value: new Color('#fff') }\n shader.uniforms.rimPower = { value: 0.7 }\n\n shader.fragmentShader = /* glsl */`\n uniform vec3 rimColor;\n uniform float rimPower;\n ${shader.fragmentShader.replace(\n '#include <dithering_fragment>',\n '#include <dithering_fragment>\\n\\t'\n + 'float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\\n\\t'\n + 'gl_FragColor.rgb += rimPower*dotNV*rimColor;',\n )}\n `\n }\n\n newMaterial.needsUpdate = true\n newMaterial.customProgramCacheKey = () => `${ver}-${frag}`\n\n child.material = newMaterial\n }\n })\n}\n\n/**\n * inject to finir material\n * @param object\n * @param uniforms\n */\nexport const injectToFinirMaterial = (object: Object3D, uniforms: { maxSize: { value: number }; progress: { value: number }; isFresnelFadeIn: { value: boolean } }) => {\n object.traverse((child: any) => {\n if (child.isMesh) {\n let newMaterial = child.material.clone()\n newMaterial = new MeshStandardMaterial({ color: new Color('#000') })\n newMaterial.transparent = true\n newMaterial.depthTest = true\n newMaterial.depthWrite = true\n newMaterial.polygonOffset = true\n newMaterial.polygonOffsetFactor = 3\n newMaterial.polygonOffsetUnits = 3\n\n newMaterial.onBeforeCompile = (shader) => {\n shader.uniforms = {\n ...shader.uniforms,\n progress: uniforms.progress,\n objSize: uniforms.maxSize,\n isFadeIn: uniforms.isFresnelFadeIn,\n }\n\n shader.vertexShader = ver_pre + shader.vertexShader\n shader.vertexShader = shader.vertexShader.replace(\n '#include <begin_vertex>', ver,\n )\n shader.fragmentShader = frag_pre + shader.fragmentShader\n shader.fragmentShader = shader.fragmentShader.replace(\n '#include <map_fragment>', frag,\n )\n\n shader.uniforms.rimColor = { value: new Color('#2364B7') }\n shader.uniforms.rimPower = { value: 0.7 }\n\n shader.fragmentShader = /* glsl */`\n uniform vec3 rimColor;\n uniform float rimPower;\n ${shader.fragmentShader.replace(\n '#include <dithering_fragment>',\n '#include <dithering_fragment>\\n\\t'\n + 'float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\\n\\t'\n + 'gl_FragColor.rgb += rimPower*dotNV*rimColor;',\n )}\n `\n }\n\n newMaterial.needsUpdate = true\n newMaterial.customProgramCacheKey = () => `${ver}-${frag}`\n\n child.material = newMaterial\n }\n })\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anov/3d-ability",
3
- "version": "0.0.83",
3
+ "version": "0.0.84",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",