three-stdlib 2.6.1 → 2.7.0
Sign up to get free protection for your applications and to get access to all the features.
- package/{Nodes-acab3ca5.js → Nodes-427f68b0.js} +0 -0
- package/{Nodes-244507d0.js → Nodes-ec4e1143.js} +0 -0
- package/controls/ArcballControls.cjs.js +1 -1
- package/controls/ArcballControls.d.ts +164 -0
- package/controls/ArcballControls.js +512 -197
- package/controls/OrbitControls.cjs.js +1 -1
- package/controls/OrbitControls.d.ts +1 -0
- package/controls/OrbitControls.js +13 -2
- package/geometries/TextGeometry.cjs.js +1 -0
- package/geometries/TextGeometry.d.ts +16 -0
- package/geometries/TextGeometry.js +26 -0
- package/index.cjs.js +1 -1
- package/index.d.ts +2 -0
- package/index.js +3 -1
- package/loaders/AMFLoader.js +1 -3
- package/loaders/ColladaLoader.cjs.js +1 -1
- package/loaders/ColladaLoader.js +58 -35
- package/loaders/EXRLoader.cjs.js +1 -1
- package/loaders/EXRLoader.js +197 -262
- package/loaders/FBXLoader.cjs.js +1 -1
- package/loaders/FBXLoader.js +41 -90
- package/loaders/FontLoader.cjs.js +1 -0
- package/loaders/FontLoader.d.ts +32 -0
- package/loaders/FontLoader.js +139 -0
- package/loaders/GLTFLoader.cjs.js +1 -1
- package/loaders/GLTFLoader.js +160 -72
- package/loaders/HDRCubeTextureLoader.cjs.js +1 -1
- package/loaders/HDRCubeTextureLoader.js +2 -10
- package/loaders/NodeMaterialLoader.cjs.js +1 -1
- package/loaders/RGBELoader.cjs.js +1 -1
- package/loaders/RGBELoader.js +11 -25
- package/loaders/RGBMLoader.cjs.js +1 -1
- package/loaders/RGBMLoader.js +225 -263
- package/loaders/SVGLoader.cjs.js +1 -1
- package/loaders/SVGLoader.js +46 -30
- package/loaders/VRMLLoader.cjs.js +1 -1
- package/loaders/VRMLLoader.js +2 -1
- package/misc/WebGL.cjs.js +1 -1
- package/misc/WebGL.d.ts +5 -7
- package/misc/WebGL.js +67 -54
- package/nodes/core/NodeBuilder.cjs.js +1 -1
- package/nodes/core/NodeBuilder.js +2 -2
- package/nodes/inputs/CubeTextureNode.cjs.js +1 -1
- package/nodes/inputs/RTTNode.cjs.js +1 -1
- package/nodes/inputs/ReflectorNode.cjs.js +1 -1
- package/nodes/inputs/ScreenNode.cjs.js +1 -1
- package/nodes/inputs/TextureNode.cjs.js +1 -1
- package/nodes/materials/BasicNodeMaterial.cjs.js +1 -1
- package/nodes/materials/NodeMaterial.cjs.js +1 -1
- package/nodes/materials/SpriteNodeMaterial.cjs.js +1 -1
- package/nodes/postprocessing/NodePass.cjs.js +1 -1
- package/nodes/postprocessing/NodePostProcessing.cjs.js +1 -1
- package/nodes/utils/ColorSpaceNode.cjs.js +1 -1
- package/nodes/utils/ColorSpaceNode.js +2 -45
- package/package.json +1 -1
- package/shaders/GammaCorrectionShader.js +1 -2
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),t=require("./NodeUniform.cjs.js"),r=require("./NodeUtils.cjs.js"),i=require("./NodeLib.cjs.js"),n=require("./FunctionNode.cjs.js"),s=require("./ConstNode.cjs.js"),o=require("./StructNode.cjs.js"),a=require("../inputs/Vector2Node.cjs.js"),d=require("../inputs/Vector3Node.cjs.js"),c=require("../inputs/Vector4Node.cjs.js"),u=require("../inputs/TextureNode.cjs.js"),h=require("../inputs/CubeTextureNode.cjs.js"),f=require("../misc/TextureCubeNode.cjs.js");require("./TempNode.cjs.js"),require("./Node.cjs.js"),require("./InputNode.cjs.js"),require("../accessors/UVNode.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("../inputs/FloatNode.cjs.js"),require("./ExpressionNode.cjs.js"),require("../accessors/ReflectNode.cjs.js"),require("../accessors/PositionNode.cjs.js"),require("../accessors/NormalNode.cjs.js"),require("../misc/TextureCubeUVNode.cjs.js"),require("./FunctionCallNode.cjs.js"),require("../math/OperatorNode.cjs.js"),require("../math/MathNode.cjs.js");var l=r.NodeUtils.elements,v=["float","vec2","vec3","vec4"],g={float:"f",vec2:"v2",vec3:"v3",vec4:"v4",mat4:"v4",int:"i",bool:"b"},m={t:"sampler2D",tc:"samplerCube",b:"bool",i:"int",f:"float",c:"vec3",v2:"vec2",v3:"vec3",v4:"vec4",m3:"mat3",m4:"mat4"};function C(){this.slots=[],this.caches=[],this.contexts=[],this.keywords={},this.nodeData={},this.requires={uv:[],color:[],lights:!1,fog:!1,transparent:!1,irradiance:!1},this.includes={consts:[],functions:[],structs:[]},this.attributes={},this.prefixCode=["#ifdef TEXTURE_LOD_EXT","\t#define texCube(a, b) textureCube(a, b)","\t#define texCubeBias(a, b, c) textureCubeLodEXT(a, b, c)","\t#define tex2D(a, b) texture2D(a, b)","\t#define tex2DBias(a, b, c) texture2DLodEXT(a, b, c)","#else","\t#define texCube(a, b) textureCube(a, b)","\t#define texCubeBias(a, b, c) textureCube(a, b, c)","\t#define tex2D(a, b) texture2D(a, b)","\t#define tex2DBias(a, b, c) texture2D(a, b, c)","#endif","#include <packing>","#include <common>"].join("\n"),this.parsCode={vertex:"",fragment:""},this.code={vertex:"",fragment:""},this.nodeCode={vertex:"",fragment:""},this.resultCode={vertex:"",fragment:""},this.finalCode={vertex:"",fragment:""},this.inputs={uniforms:{list:[],vertex:[],fragment:[]},vars:{varying:[],vertex:[],fragment:[]}},this.defines={},this.uniforms={},this.extensions={},this.updaters=[],this.nodes=[],this.analyzing=!1}C.prototype={constructor:C,build:function(e,t){this.buildShader("vertex",e),this.buildShader("fragment",t);for(let e=0;e<this.requires.uv.length;e++)if(this.requires.uv[e]){var r=e>0?e+1:"";this.addVaryCode("varying vec2 vUv"+r+";"),e>0&&this.addVertexParsCode("attribute vec2 uv"+r+";"),this.addVertexFinalCode("vUv"+r+" = uv"+r+";")}return this.requires.color[0]&&(this.addVaryCode("varying vec4 vColor;"),this.addVertexParsCode("attribute vec4 color;"),this.addVertexFinalCode("vColor = color;")),this.requires.color[1]&&(this.addVaryCode("varying vec4 vColor2;"),this.addVertexParsCode("attribute vec4 color2;"),this.addVertexFinalCode("vColor2 = color2;")),this.requires.position&&(this.addVaryCode("varying vec3 vPosition;"),this.addVertexFinalCode("vPosition = transformed;")),this.requires.worldPosition&&(this.addVaryCode("varying vec3 vWPosition;"),this.addVertexFinalCode("vWPosition = ( modelMatrix * vec4( transformed, 1.0 ) ).xyz;")),this.requires.normal&&(this.addVaryCode("varying vec3 vObjectNormal;"),this.addVertexFinalCode("vObjectNormal = normal;")),this.requires.worldNormal&&(this.addVaryCode("varying vec3 vWNormal;"),this.addVertexFinalCode("vWNormal = inverseTransformDirection( transformedNormal, viewMatrix ).xyz;")),this},buildShader:function(e,t){this.resultCode[e]=t.build(this.setShader(e),"v4")},setMaterial:function(e,t){return this.material=e,this.renderer=t,this.requires.lights=e.lights,this.requires.fog=e.fog,this.mergeDefines(e.defines),this},addFlow:function(e,t,r){return this.addSlot(e).addCache(t).addContext(r)},removeFlow:function(){return this.removeSlot().removeCache().removeContext()},addCache:function(e){return this.cache=e||"",this.caches.push(this.cache),this},removeCache:function(){return this.caches.pop(),this.cache=this.caches[this.caches.length-1]||"",this},addContext:function(e){return this.context=Object.assign({},this.context,e),this.context.extra=this.context.extra||{},this.contexts.push(this.context),this},removeContext:function(){return this.contexts.pop(),this.context=this.contexts[this.contexts.length-1]||{},this},addSlot:function(e){return this.slot=e||"",this.slots.push(this.slot),this},removeSlot:function(){return this.slots.pop(),this.slot=this.slots[this.slots.length-1]||"",this},addVertexCode:function(e){this.addCode(e,"vertex")},addFragmentCode:function(e){this.addCode(e,"fragment")},addCode:function(e,t){this.code[t||this.shader]+=e+"\n"},addVertexNodeCode:function(e){this.addNodeCode(e,"vertex")},addFragmentNodeCode:function(e){this.addNodeCode(e,"fragment")},addNodeCode:function(e,t){this.nodeCode[t||this.shader]+=e+"\n"},clearNodeCode:function(e){e=e||this.shader;var t=this.nodeCode[e];return this.nodeCode[e]="",t},clearVertexNodeCode:function(){return this.clearNodeCode("vertex")},clearFragmentNodeCode:function(){return this.clearNodeCode("fragment")},addVertexFinalCode:function(e){this.addFinalCode(e,"vertex")},addFragmentFinalCode:function(e){this.addFinalCode(e,"fragment")},addFinalCode:function(e,t){this.finalCode[t||this.shader]+=e+"\n"},addVertexParsCode:function(e){this.addParsCode(e,"vertex")},addFragmentParsCode:function(e){this.addParsCode(e,"fragment")},addParsCode:function(e,t){this.parsCode[t||this.shader]+=e+"\n"},addVaryCode:function(e){this.addVertexParsCode(e),this.addFragmentParsCode(e)},isCache:function(e){return-1!==this.caches.indexOf(e)},isSlot:function(e){return-1!==this.slots.indexOf(e)},define:function(e,t){this.defines[e]=void 0===t?1:t},require:function(e){this.requires[e]=!0},isDefined:function(e){return void 0!==this.defines[e]},getVar:function(e,t,r,i="varying",n="V",s=""){var o=this.getVars(i),a=o[e];if(!a){var d=o.length;a={name:r||"node"+n+d+(s?"_"+s:""),type:t},o.push(a),o[e]=a}return a},getTempVar:function(e,t,r,i){return this.getVar(e,t,r,this.shader,"T",i)},getAttribute:function(e,t){if(!this.attributes[e]){var r=this.getVar(e,t);this.addVertexParsCode("attribute "+t+" "+e+";"),this.addVertexFinalCode(r.name+" = "+e+";"),this.attributes[e]={varying:r,name:e,type:t}}return this.attributes[e]},getCode:function(e){return[this.prefixCode,this.parsCode[e],this.getVarListCode(this.getVars("varying"),"varying"),this.getVarListCode(this.inputs.uniforms[e],"uniform"),this.getIncludesCode("consts",e),this.getIncludesCode("structs",e),this.getIncludesCode("functions",e),"void main() {",this.getVarListCode(this.getVars(e)),this.code[e],this.resultCode[e],this.finalCode[e],"}"].join("\n")},getVarListCode:function(e,t){t=t||"";var r="";for(let a=0,d=e.length;a<d;++a){var i=e[a],n=i.type,s=i.name,o=this.getFormatByType(n);if(void 0===o)throw new Error("Node pars "+o+" not found.");r+=t+" "+o+" "+s+";\n"}return r},getVars:function(e){return this.inputs.vars[e||this.shader]},getNodeData:function(e){var t=e.isNode?e.uuid:e;return this.nodeData[t]=this.nodeData[t]||{}},createUniform:function(e,r,i,n,s,o){var a=this.inputs.uniforms,d=a.list.length,c=new t.NodeUniform({type:r,name:n||"nodeU"+d+(o?"_"+o:""),node:i,needsUpdate:s});return a.list.push(c),a[e].push(c),a[e][c.name]=c,this.uniforms[c.name]=c,c},createVertexUniform:function(e,t,r,i,n){return this.createUniform("vertex",e,t,r,i,n)},createFragmentUniform:function(e,t,r,i,n){return this.createUniform("fragment",e,t,r,i,n)},include:function(e,t,r){var a;if(e="string"==typeof e?i.NodeLib.get(e):e,!1===this.context.include)return e.name;e instanceof n.FunctionNode?a=this.includes.functions:e instanceof s.ConstNode?a=this.includes.consts:e instanceof o.StructNode&&(a=this.includes.structs);var d=a[this.shader]=a[this.shader]||[];if(e){var c=d[e.name];if(c||(c=d[e.name]={node:e,deps:[]},d.push(c),c.src=e.build(this,"source")),e instanceof n.FunctionNode&&t&&d[t.name]&&-1==d[t.name].deps.indexOf(e)&&(d[t.name].deps.push(e),e.includes&&e.includes.length)){var u=0;do{this.include(e.includes[u++],t)}while(u<e.includes.length)}return r&&(c.src=r),e.name}throw new Error("Include not found.")},colorToVectorProperties:function(e){return e.replace("r","x").replace("g","y").replace("b","z").replace("a","w")},colorToVector:function(e){return e.replace(/c/g,"v3")},getIncludes:function(e,t){return this.includes[e][t||this.shader]},getIncludesCode:function(){function e(e,t){return e.deps.length-t.deps.length}return function(t,r){if(!(n=this.getIncludes(t,r)))return"";var i="",n=n.sort(e);for(let e=0;e<n.length;e++)n[e].src&&(i+=n[e].src+"\n");return i}}(),getConstructorFromLength:function(e){return v[e-1]},isTypeMatrix:function(e){return/^m/.test(e)},getTypeLength:function(e){return"f"===e?1:parseInt(this.colorToVector(e).substr(1))},getTypeFromLength:function(e){return 1===e?"f":"v"+e},findNode:function(){for(let t=0;t<arguments.length;t++){var e=arguments[t];if(void 0!==e&&e.isNode)return e}},resolve:function(){for(let r=0;r<arguments.length;r++){var t=arguments[r];if(void 0!==t){if(t.isNode)return t;if(t.isTexture)switch(t.mapping){case e.CubeReflectionMapping:case e.CubeRefractionMapping:return new h.CubeTextureNode(t);case e.CubeUVReflectionMapping:case e.CubeUVRefractionMapping:return new f.TextureCubeNode(new u.TextureNode(t));default:return new u.TextureNode(t)}else{if(t.isVector2)return new a.Vector2Node(t);if(t.isVector3)return new d.Vector3Node(t);if(t.isVector4)return new c.Vector4Node(t)}}}},format:function(e,t,r){switch(this.colorToVector(r+" <- "+t)){case"f <- v2":case"f <- v3":case"f <- v4":return e+".x";case"f <- i":case"f <- b":return"float( "+e+" )";case"v2 <- f":return"vec2( "+e+" )";case"v2 <- v3":case"v2 <- v4":return e+".xy";case"v2 <- i":case"v2 <- b":return"vec2( float( "+e+" ) )";case"v3 <- f":return"vec3( "+e+" )";case"v3 <- v2":return"vec3( "+e+", 0.0 )";case"v3 <- v4":return e+".xyz";case"v3 <- i":case"v3 <- b":return"vec2( float( "+e+" ) )";case"v4 <- f":return"vec4( "+e+" )";case"v4 <- v2":return"vec4( "+e+", 0.0, 1.0 )";case"v4 <- v3":return"vec4( "+e+", 1.0 )";case"v4 <- i":case"v4 <- b":return"vec4( float( "+e+" ) )";case"i <- f":case"i <- b":return"int( "+e+" )";case"i <- v2":case"i <- v3":case"i <- v4":return"int( "+e+".x )";case"b <- f":return"( "+e+" != 0.0 )";case"b <- v2":return"( "+e+" != vec2( 0.0 ) )";case"b <- v3":return"( "+e+" != vec3( 0.0 ) )";case"b <- v4":return"( "+e+" != vec4( 0.0 ) )";case"b <- i":return"( "+e+" != 0 )"}return e},getTypeByFormat:function(e){return g[e]||e},getFormatByType:function(e){return m[e]||e},getUuid:function(e,t){return(t=void 0===t||t)&&this.cache&&(e=this.cache+"-"+e),e},getElementByIndex:function(e){return l[e]},getIndexByElement:function(e){return l.indexOf(e)},isShader:function(e){return this.shader===e},setShader:function(e){return this.shader=e,this},mergeDefines:function(e){for(let t in e)this.defines[t]=e[t];return this.defines},mergeUniform:function(e){for(let t in e)this.uniforms[t]=e[t];return this.uniforms},getTextureEncodingFromMap:function(t){var r;return t?t.isTexture?r=t.encoding:t.isWebGLRenderTarget&&(console.warn("THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead."),r=t.texture.encoding):r=e.LinearEncoding,r===e.LinearEncoding&&this.context.gamma&&(r=e.GammaEncoding),r}},exports.NodeBuilder=C;
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),t=require("./NodeUniform.cjs.js"),r=require("./NodeUtils.cjs.js"),i=require("./NodeLib.cjs.js"),n=require("./FunctionNode.cjs.js"),s=require("./ConstNode.cjs.js"),o=require("./StructNode.cjs.js"),a=require("../inputs/Vector2Node.cjs.js"),d=require("../inputs/Vector3Node.cjs.js"),c=require("../inputs/Vector4Node.cjs.js"),u=require("../inputs/TextureNode.cjs.js"),h=require("../inputs/CubeTextureNode.cjs.js"),f=require("../misc/TextureCubeNode.cjs.js");require("./TempNode.cjs.js"),require("./Node.cjs.js"),require("./InputNode.cjs.js"),require("../accessors/UVNode.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("./ExpressionNode.cjs.js"),require("../accessors/ReflectNode.cjs.js"),require("../accessors/PositionNode.cjs.js"),require("../accessors/NormalNode.cjs.js"),require("../inputs/FloatNode.cjs.js"),require("../misc/TextureCubeUVNode.cjs.js"),require("./FunctionCallNode.cjs.js"),require("../math/OperatorNode.cjs.js"),require("../math/MathNode.cjs.js");var l=r.NodeUtils.elements,v=["float","vec2","vec3","vec4"],g={float:"f",vec2:"v2",vec3:"v3",vec4:"v4",mat4:"v4",int:"i",bool:"b"},m={t:"sampler2D",tc:"samplerCube",b:"bool",i:"int",f:"float",c:"vec3",v2:"vec2",v3:"vec3",v4:"vec4",m3:"mat3",m4:"mat4"};function C(){this.slots=[],this.caches=[],this.contexts=[],this.keywords={},this.nodeData={},this.requires={uv:[],color:[],lights:!1,fog:!1,transparent:!1,irradiance:!1},this.includes={consts:[],functions:[],structs:[]},this.attributes={},this.prefixCode=["#ifdef TEXTURE_LOD_EXT","\t#define texCube(a, b) textureCube(a, b)","\t#define texCubeBias(a, b, c) textureCubeLodEXT(a, b, c)","\t#define tex2D(a, b) texture2D(a, b)","\t#define tex2DBias(a, b, c) texture2DLodEXT(a, b, c)","#else","\t#define texCube(a, b) textureCube(a, b)","\t#define texCubeBias(a, b, c) textureCube(a, b, c)","\t#define tex2D(a, b) texture2D(a, b)","\t#define tex2DBias(a, b, c) texture2D(a, b, c)","#endif","#include <packing>","#include <common>"].join("\n"),this.parsCode={vertex:"",fragment:""},this.code={vertex:"",fragment:""},this.nodeCode={vertex:"",fragment:""},this.resultCode={vertex:"",fragment:""},this.finalCode={vertex:"",fragment:""},this.inputs={uniforms:{list:[],vertex:[],fragment:[]},vars:{varying:[],vertex:[],fragment:[]}},this.defines={},this.uniforms={},this.extensions={},this.updaters=[],this.nodes=[],this.analyzing=!1}C.prototype={constructor:C,build:function(e,t){this.buildShader("vertex",e),this.buildShader("fragment",t);for(let e=0;e<this.requires.uv.length;e++)if(this.requires.uv[e]){var r=e>0?e+1:"";this.addVaryCode("varying vec2 vUv"+r+";"),e>0&&this.addVertexParsCode("attribute vec2 uv"+r+";"),this.addVertexFinalCode("vUv"+r+" = uv"+r+";")}return this.requires.color[0]&&(this.addVaryCode("varying vec4 vColor;"),this.addVertexParsCode("attribute vec4 color;"),this.addVertexFinalCode("vColor = color;")),this.requires.color[1]&&(this.addVaryCode("varying vec4 vColor2;"),this.addVertexParsCode("attribute vec4 color2;"),this.addVertexFinalCode("vColor2 = color2;")),this.requires.position&&(this.addVaryCode("varying vec3 vPosition;"),this.addVertexFinalCode("vPosition = transformed;")),this.requires.worldPosition&&(this.addVaryCode("varying vec3 vWPosition;"),this.addVertexFinalCode("vWPosition = ( modelMatrix * vec4( transformed, 1.0 ) ).xyz;")),this.requires.normal&&(this.addVaryCode("varying vec3 vObjectNormal;"),this.addVertexFinalCode("vObjectNormal = normal;")),this.requires.worldNormal&&(this.addVaryCode("varying vec3 vWNormal;"),this.addVertexFinalCode("vWNormal = inverseTransformDirection( transformedNormal, viewMatrix ).xyz;")),this},buildShader:function(e,t){this.resultCode[e]=t.build(this.setShader(e),"v4")},setMaterial:function(e,t){return this.material=e,this.renderer=t,this.requires.lights=e.lights,this.requires.fog=e.fog,this.mergeDefines(e.defines),this},addFlow:function(e,t,r){return this.addSlot(e).addCache(t).addContext(r)},removeFlow:function(){return this.removeSlot().removeCache().removeContext()},addCache:function(e){return this.cache=e||"",this.caches.push(this.cache),this},removeCache:function(){return this.caches.pop(),this.cache=this.caches[this.caches.length-1]||"",this},addContext:function(e){return this.context=Object.assign({},this.context,e),this.context.extra=this.context.extra||{},this.contexts.push(this.context),this},removeContext:function(){return this.contexts.pop(),this.context=this.contexts[this.contexts.length-1]||{},this},addSlot:function(e){return this.slot=e||"",this.slots.push(this.slot),this},removeSlot:function(){return this.slots.pop(),this.slot=this.slots[this.slots.length-1]||"",this},addVertexCode:function(e){this.addCode(e,"vertex")},addFragmentCode:function(e){this.addCode(e,"fragment")},addCode:function(e,t){this.code[t||this.shader]+=e+"\n"},addVertexNodeCode:function(e){this.addNodeCode(e,"vertex")},addFragmentNodeCode:function(e){this.addNodeCode(e,"fragment")},addNodeCode:function(e,t){this.nodeCode[t||this.shader]+=e+"\n"},clearNodeCode:function(e){e=e||this.shader;var t=this.nodeCode[e];return this.nodeCode[e]="",t},clearVertexNodeCode:function(){return this.clearNodeCode("vertex")},clearFragmentNodeCode:function(){return this.clearNodeCode("fragment")},addVertexFinalCode:function(e){this.addFinalCode(e,"vertex")},addFragmentFinalCode:function(e){this.addFinalCode(e,"fragment")},addFinalCode:function(e,t){this.finalCode[t||this.shader]+=e+"\n"},addVertexParsCode:function(e){this.addParsCode(e,"vertex")},addFragmentParsCode:function(e){this.addParsCode(e,"fragment")},addParsCode:function(e,t){this.parsCode[t||this.shader]+=e+"\n"},addVaryCode:function(e){this.addVertexParsCode(e),this.addFragmentParsCode(e)},isCache:function(e){return-1!==this.caches.indexOf(e)},isSlot:function(e){return-1!==this.slots.indexOf(e)},define:function(e,t){this.defines[e]=void 0===t?1:t},require:function(e){this.requires[e]=!0},isDefined:function(e){return void 0!==this.defines[e]},getVar:function(e,t,r,i="varying",n="V",s=""){var o=this.getVars(i),a=o[e];if(!a){var d=o.length;a={name:r||"node"+n+d+(s?"_"+s:""),type:t},o.push(a),o[e]=a}return a},getTempVar:function(e,t,r,i){return this.getVar(e,t,r,this.shader,"T",i)},getAttribute:function(e,t){if(!this.attributes[e]){var r=this.getVar(e,t);this.addVertexParsCode("attribute "+t+" "+e+";"),this.addVertexFinalCode(r.name+" = "+e+";"),this.attributes[e]={varying:r,name:e,type:t}}return this.attributes[e]},getCode:function(e){return[this.prefixCode,this.parsCode[e],this.getVarListCode(this.getVars("varying"),"varying"),this.getVarListCode(this.inputs.uniforms[e],"uniform"),this.getIncludesCode("consts",e),this.getIncludesCode("structs",e),this.getIncludesCode("functions",e),"void main() {",this.getVarListCode(this.getVars(e)),this.code[e],this.resultCode[e],this.finalCode[e],"}"].join("\n")},getVarListCode:function(e,t){t=t||"";var r="";for(let a=0,d=e.length;a<d;++a){var i=e[a],n=i.type,s=i.name,o=this.getFormatByType(n);if(void 0===o)throw new Error("Node pars "+o+" not found.");r+=t+" "+o+" "+s+";\n"}return r},getVars:function(e){return this.inputs.vars[e||this.shader]},getNodeData:function(e){var t=e.isNode?e.uuid:e;return this.nodeData[t]=this.nodeData[t]||{}},createUniform:function(e,r,i,n,s,o){var a=this.inputs.uniforms,d=a.list.length,c=new t.NodeUniform({type:r,name:n||"nodeU"+d+(o?"_"+o:""),node:i,needsUpdate:s});return a.list.push(c),a[e].push(c),a[e][c.name]=c,this.uniforms[c.name]=c,c},createVertexUniform:function(e,t,r,i,n){return this.createUniform("vertex",e,t,r,i,n)},createFragmentUniform:function(e,t,r,i,n){return this.createUniform("fragment",e,t,r,i,n)},include:function(e,t,r){var a;if(e="string"==typeof e?i.NodeLib.get(e):e,!1===this.context.include)return e.name;e instanceof n.FunctionNode?a=this.includes.functions:e instanceof s.ConstNode?a=this.includes.consts:e instanceof o.StructNode&&(a=this.includes.structs);var d=a[this.shader]=a[this.shader]||[];if(e){var c=d[e.name];if(c||(c=d[e.name]={node:e,deps:[]},d.push(c),c.src=e.build(this,"source")),e instanceof n.FunctionNode&&t&&d[t.name]&&-1==d[t.name].deps.indexOf(e)&&(d[t.name].deps.push(e),e.includes&&e.includes.length)){var u=0;do{this.include(e.includes[u++],t)}while(u<e.includes.length)}return r&&(c.src=r),e.name}throw new Error("Include not found.")},colorToVectorProperties:function(e){return e.replace("r","x").replace("g","y").replace("b","z").replace("a","w")},colorToVector:function(e){return e.replace(/c/g,"v3")},getIncludes:function(e,t){return this.includes[e][t||this.shader]},getIncludesCode:function(){function e(e,t){return e.deps.length-t.deps.length}return function(t,r){if(!(n=this.getIncludes(t,r)))return"";var i="",n=n.sort(e);for(let e=0;e<n.length;e++)n[e].src&&(i+=n[e].src+"\n");return i}}(),getConstructorFromLength:function(e){return v[e-1]},isTypeMatrix:function(e){return/^m/.test(e)},getTypeLength:function(e){return"f"===e?1:parseInt(this.colorToVector(e).substr(1))},getTypeFromLength:function(e){return 1===e?"f":"v"+e},findNode:function(){for(let t=0;t<arguments.length;t++){var e=arguments[t];if(void 0!==e&&e.isNode)return e}},resolve:function(){for(let r=0;r<arguments.length;r++){var t=arguments[r];if(void 0!==t){if(t.isNode)return t;if(t.isTexture)switch(t.mapping){case e.CubeReflectionMapping:case e.CubeRefractionMapping:return new h.CubeTextureNode(t);case e.CubeUVReflectionMapping:case e.CubeUVRefractionMapping:return new f.TextureCubeNode(new u.TextureNode(t));default:return new u.TextureNode(t)}else{if(t.isVector2)return new a.Vector2Node(t);if(t.isVector3)return new d.Vector3Node(t);if(t.isVector4)return new c.Vector4Node(t)}}}},format:function(e,t,r){switch(this.colorToVector(r+" <- "+t)){case"f <- v2":case"f <- v3":case"f <- v4":return e+".x";case"f <- i":case"f <- b":return"float( "+e+" )";case"v2 <- f":return"vec2( "+e+" )";case"v2 <- v3":case"v2 <- v4":return e+".xy";case"v2 <- i":case"v2 <- b":return"vec2( float( "+e+" ) )";case"v3 <- f":return"vec3( "+e+" )";case"v3 <- v2":return"vec3( "+e+", 0.0 )";case"v3 <- v4":return e+".xyz";case"v3 <- i":case"v3 <- b":return"vec2( float( "+e+" ) )";case"v4 <- f":return"vec4( "+e+" )";case"v4 <- v2":return"vec4( "+e+", 0.0, 1.0 )";case"v4 <- v3":return"vec4( "+e+", 1.0 )";case"v4 <- i":case"v4 <- b":return"vec4( float( "+e+" ) )";case"i <- f":case"i <- b":return"int( "+e+" )";case"i <- v2":case"i <- v3":case"i <- v4":return"int( "+e+".x )";case"b <- f":return"( "+e+" != 0.0 )";case"b <- v2":return"( "+e+" != vec2( 0.0 ) )";case"b <- v3":return"( "+e+" != vec3( 0.0 ) )";case"b <- v4":return"( "+e+" != vec4( 0.0 ) )";case"b <- i":return"( "+e+" != 0 )"}return e},getTypeByFormat:function(e){return g[e]||e},getFormatByType:function(e){return m[e]||e},getUuid:function(e,t){return(t=void 0===t||t)&&this.cache&&(e=this.cache+"-"+e),e},getElementByIndex:function(e){return l[e]},getIndexByElement:function(e){return l.indexOf(e)},isShader:function(e){return this.shader===e},setShader:function(e){return this.shader=e,this},mergeDefines:function(e){for(let t in e)this.defines[t]=e[t];return this.defines},mergeUniform:function(e){for(let t in e)this.uniforms[t]=e[t];return this.uniforms},getTextureEncodingFromMap:function(t){var r;return t?t.isTexture?r=t.encoding:t.isWebGLRenderTarget&&(console.warn("THREE.WebGLPrograms.getTextureEncodingFromMap: don't use render targets as textures. Use their .texture property instead."),r=t.texture.encoding):r=e.LinearEncoding,r===e.LinearEncoding&&this.context.gamma&&(r=e.sRGBEncoding),r}},exports.NodeBuilder=C;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { CubeUVRefractionMapping, CubeUVReflectionMapping, CubeRefractionMapping, CubeReflectionMapping, LinearEncoding,
|
1
|
+
import { CubeUVRefractionMapping, CubeUVReflectionMapping, CubeRefractionMapping, CubeReflectionMapping, LinearEncoding, sRGBEncoding } from 'three';
|
2
2
|
import { NodeUniform } from './NodeUniform.js';
|
3
3
|
import { NodeUtils } from './NodeUtils.js';
|
4
4
|
import { NodeLib } from './NodeLib.js';
|
@@ -621,7 +621,7 @@ NodeBuilder.prototype = {
|
|
621
621
|
}
|
622
622
|
|
623
623
|
if (encoding === LinearEncoding && this.context.gamma) {
|
624
|
-
encoding =
|
624
|
+
encoding = sRGBEncoding;
|
625
625
|
}
|
626
626
|
|
627
627
|
return encoding;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/InputNode.cjs.js"),t=require("../accessors/ReflectNode.cjs.js"),o=require("../utils/ColorSpaceNode.cjs.js"),r=require("../core/ExpressionNode.cjs.js");function s(o,r,s){e.InputNode.call(this,"v4",{shared:!0}),this.value=o,this.uv=r||new t.ReflectNode,this.bias=s}require("../core/TempNode.cjs.js"),require("three"),require("../core/Node.cjs.js"),require("../accessors/PositionNode.cjs.js"),require("../core/NodeLib.cjs.js"),require("../accessors/NormalNode.cjs.js"),require("../core/ConstNode.cjs.js"),require("
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/InputNode.cjs.js"),t=require("../accessors/ReflectNode.cjs.js"),o=require("../utils/ColorSpaceNode.cjs.js"),r=require("../core/ExpressionNode.cjs.js");function s(o,r,s){e.InputNode.call(this,"v4",{shared:!0}),this.value=o,this.uv=r||new t.ReflectNode,this.bias=s}require("../core/TempNode.cjs.js"),require("three"),require("../core/Node.cjs.js"),require("../accessors/PositionNode.cjs.js"),require("../core/NodeLib.cjs.js"),require("../accessors/NormalNode.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/FunctionNode.cjs.js"),s.prototype=Object.create(e.InputNode.prototype),s.prototype.constructor=s,s.prototype.nodeType="CubeTexture",s.prototype.getTexture=function(t,o){return e.InputNode.prototype.generate.call(this,t,o,this.value.uuid,"tc")},s.prototype.generate=function(e,t){if("samplerCube"===t)return this.getTexture(e,t);var s,i=this.getTexture(e,t),u=this.uv.build(e,"v3"),c=this.bias?this.bias.build(e,"f"):void 0;void 0===c&&e.context.bias&&(c=e.context.bias.setTexture(this).build(e,"f")),s=c?"texCubeBias( "+i+", "+u+", "+c+" )":"texCube( "+i+", "+u+" )";var a={include:e.isShader("vertex"),ignoreCache:!0},p=this.getType(e);return e.addContext(a),this.colorSpace=this.colorSpace||new o.ColorSpaceNode(new r.ExpressionNode("",p)),this.colorSpace.fromDecoding(e.getTextureEncodingFromMap(this.value)),this.colorSpace.input.parse(s),s=this.colorSpace.build(e,p),e.removeContext(),e.format(s,p,t)},s.prototype.copy=function(t){return e.InputNode.prototype.copy.call(this,t),t.value&&(this.value=t.value),this.uv=t.uv,t.bias&&(this.bias=t.bias),this},s.prototype.toJSON=function(e){var t=this.getJSONNode(e);return t||((t=this.createJSONNode(e)).value=this.value.uuid,t.uv=this.uv.toJSON(e).uuid,this.bias&&(t.bias=this.bias.toJSON(e).uuid)),t},exports.CubeTextureNode=s;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("../core/NodeBuilder.cjs.js"),s=require("../materials/NodeMaterial.cjs.js"),t=require("./TextureNode.cjs.js");function o(r,o,i,a){a=a||{},this.input=i,this.clear=void 0===a.clear||a.clear,this.renderTarget=new e.WebGLRenderTarget(r,o,a),this.material=new s.NodeMaterial,this.camera=new e.OrthographicCamera(-1,1,1,-1,0,1),this.scene=new e.Scene,this.quad=new e.Mesh(new e.PlaneGeometry(2,2),this.material),this.quad.frustumCulled=!1,this.scene.add(this.quad),this.render=!0,t.TextureNode.call(this,this.renderTarget.texture)}require("../core/NodeUniform.cjs.js"),require("../core/NodeUtils.cjs.js"),require("../core/NodeLib.cjs.js"),require("../core/FunctionNode.cjs.js"),require("../core/TempNode.cjs.js"),require("../core/Node.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/StructNode.cjs.js"),require("./Vector2Node.cjs.js"),require("../core/InputNode.cjs.js"),require("./Vector3Node.cjs.js"),require("./Vector4Node.cjs.js"),require("./CubeTextureNode.cjs.js"),require("../accessors/ReflectNode.cjs.js"),require("../accessors/PositionNode.cjs.js"),require("../accessors/NormalNode.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("../core/NodeBuilder.cjs.js"),s=require("../materials/NodeMaterial.cjs.js"),t=require("./TextureNode.cjs.js");function o(r,o,i,a){a=a||{},this.input=i,this.clear=void 0===a.clear||a.clear,this.renderTarget=new e.WebGLRenderTarget(r,o,a),this.material=new s.NodeMaterial,this.camera=new e.OrthographicCamera(-1,1,1,-1,0,1),this.scene=new e.Scene,this.quad=new e.Mesh(new e.PlaneGeometry(2,2),this.material),this.quad.frustumCulled=!1,this.scene.add(this.quad),this.render=!0,t.TextureNode.call(this,this.renderTarget.texture)}require("../core/NodeUniform.cjs.js"),require("../core/NodeUtils.cjs.js"),require("../core/NodeLib.cjs.js"),require("../core/FunctionNode.cjs.js"),require("../core/TempNode.cjs.js"),require("../core/Node.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/StructNode.cjs.js"),require("./Vector2Node.cjs.js"),require("../core/InputNode.cjs.js"),require("./Vector3Node.cjs.js"),require("./Vector4Node.cjs.js"),require("./CubeTextureNode.cjs.js"),require("../accessors/ReflectNode.cjs.js"),require("../accessors/PositionNode.cjs.js"),require("../accessors/NormalNode.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("../core/ExpressionNode.cjs.js"),require("../misc/TextureCubeNode.cjs.js"),require("./FloatNode.cjs.js"),require("../misc/TextureCubeUVNode.cjs.js"),require("../core/FunctionCallNode.cjs.js"),require("../math/OperatorNode.cjs.js"),require("../math/MathNode.cjs.js"),require("../accessors/UVNode.cjs.js"),require("./ColorNode.cjs.js"),require("../materials/nodes/RawNode.cjs.js"),o.prototype=Object.create(t.TextureNode.prototype),o.prototype.constructor=o,o.prototype.nodeType="RTT",o.prototype.build=function(e,s,o){var i=new r.NodeBuilder;return i.nodes=e.nodes,i.updaters=e.updaters,this.material.fragment.value=this.input,this.material.build({builder:i}),t.TextureNode.prototype.build.call(this,e,s,o)},o.prototype.updateFramesaveTo=function(r){if(this.saveTo.render=!1,this.saveTo!==this.saveToCurrent){this.saveToMaterial&&this.saveToMaterial.dispose();var t=new s.NodeMaterial;t.fragment.value=this,t.build();var o=new e.Scene,i=new e.Mesh(new e.PlaneGeometry(2,2),t);i.frustumCulled=!1,o.add(i),this.saveToScene=o,this.saveToMaterial=t}this.saveToCurrent=this.saveTo,r.renderer.setRenderTarget(this.saveTo.renderTarget),this.saveTo.clear&&r.renderer.clear(),r.renderer.render(this.saveToScene,this.camera)},o.prototype.updateFrame=function(e){e.renderer?(this.saveTo&&!1===this.saveTo.render&&this.updateFramesaveTo(e),this.render&&(this.material.uniforms.renderTexture&&(this.material.uniforms.renderTexture.value=e.renderTexture),e.renderer.setRenderTarget(this.renderTarget),this.clear&&e.renderer.clear(),e.renderer.render(this.scene,this.camera)),this.saveTo&&!0===this.saveTo.render&&this.updateFramesaveTo(e)):console.warn("RTTNode need a renderer in NodeFrame")},o.prototype.copy=function(e){return t.TextureNode.prototype.copy.call(this,e),this.saveTo=e.saveTo,this},o.prototype.toJSON=function(e){var r=this.getJSONNode(e);return r||(r=t.TextureNode.prototype.toJSON.call(this,e),this.saveTo&&(r.saveTo=this.saveTo.toJSON(e).uuid)),r},exports.RTTNode=o;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/TempNode.cjs.js"),t=require("../core/InputNode.cjs.js"),r=require("../accessors/PositionNode.cjs.js"),o=require("../math/OperatorNode.cjs.js"),s=require("./TextureNode.cjs.js"),i=require("./Matrix4Node.cjs.js");function u(t){e.TempNode.call(this,"v4"),t&&this.setMirror(t)}require("three"),require("../core/Node.cjs.js"),require("../core/NodeLib.cjs.js"),require("../accessors/UVNode.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("../core/ConstNode.cjs.js"),require("
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/TempNode.cjs.js"),t=require("../core/InputNode.cjs.js"),r=require("../accessors/PositionNode.cjs.js"),o=require("../math/OperatorNode.cjs.js"),s=require("./TextureNode.cjs.js"),i=require("./Matrix4Node.cjs.js");function u(t){e.TempNode.call(this,"v4"),t&&this.setMirror(t)}require("three"),require("../core/Node.cjs.js"),require("../core/NodeLib.cjs.js"),require("../accessors/UVNode.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/FunctionNode.cjs.js"),require("../core/ExpressionNode.cjs.js"),u.prototype=Object.create(e.TempNode.prototype),u.prototype.constructor=u,u.prototype.nodeType="Reflector",u.prototype.setMirror=function(e){this.mirror=e,this.textureMatrix=new i.Matrix4Node(this.mirror.material.uniforms.textureMatrix.value),this.localPosition=new r.PositionNode(r.PositionNode.LOCAL),this.uv=new o.OperatorNode(this.textureMatrix,this.localPosition,o.OperatorNode.MUL),this.uvResult=new o.OperatorNode(null,this.uv,o.OperatorNode.ADD),this.texture=new s.TextureNode(this.mirror.material.uniforms.tDiffuse.value,this.uv,null,!0)},u.prototype.generate=function(e,t){return e.isShader("fragment")?(this.uvResult.a=this.offset,this.texture.uv=this.offset?this.uvResult:this.uv,"sampler2D"===t?this.texture.build(e,t):e.format(this.texture.build(e,this.type),this.type,t)):(console.warn("THREE.ReflectorNode is not compatible with "+e.shader+" shader."),e.format("vec4( 0.0 )",this.type,t))},u.prototype.copy=function(e){return t.InputNode.prototype.copy.call(this,e),this.scope.mirror=e.mirror,this},u.prototype.toJSON=function(e){var t=this.getJSONNode(e);return t||((t=this.createJSONNode(e)).mirror=this.mirror.uuid,this.offset&&(t.offset=this.offset.toJSON(e).uuid)),t},exports.ReflectorNode=u;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/InputNode.cjs.js"),r=require("./TextureNode.cjs.js");function o(e){r.TextureNode.call(this,void 0,e)}require("../core/TempNode.cjs.js"),require("three"),require("../core/Node.cjs.js"),require("../accessors/UVNode.cjs.js"),require("../core/NodeLib.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("../core/ConstNode.cjs.js"),require("
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/InputNode.cjs.js"),r=require("./TextureNode.cjs.js");function o(e){r.TextureNode.call(this,void 0,e)}require("../core/TempNode.cjs.js"),require("three"),require("../core/Node.cjs.js"),require("../accessors/UVNode.cjs.js"),require("../core/NodeLib.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/FunctionNode.cjs.js"),require("../core/ExpressionNode.cjs.js"),o.prototype=Object.create(r.TextureNode.prototype),o.prototype.constructor=o,o.prototype.nodeType="Screen",o.prototype.getUnique=function(){return!0},o.prototype.getTexture=function(r,o){return e.InputNode.prototype.generate.call(this,r,o,this.getUuid(),"t","renderTexture")},exports.ScreenNode=o;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/InputNode.cjs.js"),t=require("../accessors/UVNode.cjs.js"),o=require("../utils/ColorSpaceNode.cjs.js"),r=require("../core/ExpressionNode.cjs.js");function i(o,r,i,s){e.InputNode.call(this,"v4",{shared:!0}),this.value=o,this.uv=r||new t.UVNode,this.bias=i,this.project=void 0!==s&&s}require("../core/TempNode.cjs.js"),require("three"),require("../core/Node.cjs.js"),require("../core/NodeLib.cjs.js"),require("../core/ConstNode.cjs.js"),require("
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../core/InputNode.cjs.js"),t=require("../accessors/UVNode.cjs.js"),o=require("../utils/ColorSpaceNode.cjs.js"),r=require("../core/ExpressionNode.cjs.js");function i(o,r,i,s){e.InputNode.call(this,"v4",{shared:!0}),this.value=o,this.uv=r||new t.UVNode,this.bias=i,this.project=void 0!==s&&s}require("../core/TempNode.cjs.js"),require("three"),require("../core/Node.cjs.js"),require("../core/NodeLib.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/FunctionNode.cjs.js"),i.prototype=Object.create(e.InputNode.prototype),i.prototype.constructor=i,i.prototype.nodeType="Texture",i.prototype.getTexture=function(t,o){return e.InputNode.prototype.generate.call(this,t,o,this.value.uuid,"t")},i.prototype.generate=function(e,t){if("sampler2D"===t)return this.getTexture(e,t);var i,s,u=this.getTexture(e,t),c=this.uv.build(e,this.project?"v4":"v2"),p=this.bias?this.bias.build(e,"f"):void 0;void 0===p&&e.context.bias&&(p=e.context.bias.setTexture(this).build(e,"f")),i=this.project?"texture2DProj":p?"tex2DBias":"tex2D",s=p?i+"( "+u+", "+c+", "+p+" )":i+"( "+u+", "+c+" )";var a={include:e.isShader("vertex"),ignoreCache:!0},n=this.getType(e);return e.addContext(a),this.colorSpace=this.colorSpace||new o.ColorSpaceNode(new r.ExpressionNode("",n)),this.colorSpace.fromDecoding(e.getTextureEncodingFromMap(this.value)),this.colorSpace.input.parse(s),s=this.colorSpace.build(e,n),e.removeContext(),e.format(s,n,t)},i.prototype.copy=function(t){return e.InputNode.prototype.copy.call(this,t),t.value&&(this.value=t.value),this.uv=t.uv,t.bias&&(this.bias=t.bias),void 0!==t.project&&(this.project=t.project),this},i.prototype.toJSON=function(e){var t=this.getJSONNode(e);return t||(t=this.createJSONNode(e),this.value&&(t.value=this.value.uuid),t.uv=this.uv.toJSON(e).uuid,t.project=this.project,this.bias&&(t.bias=this.bias.toJSON(e).uuid)),t},exports.TextureNode=i;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./nodes/BasicNode.cjs.js"),r=require("./NodeMaterial.cjs.js"),s=require("../core/NodeUtils.cjs.js");function o(){var s=new e.BasicNode;r.NodeMaterial.call(this,s,s),this.type="BasicNodeMaterial"}require("../core/Node.cjs.js"),require("three"),require("../inputs/ColorNode.cjs.js"),require("../core/InputNode.cjs.js"),require("../core/TempNode.cjs.js"),require("../core/NodeBuilder.cjs.js"),require("../core/NodeUniform.cjs.js"),require("../core/NodeLib.cjs.js"),require("../core/FunctionNode.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/StructNode.cjs.js"),require("../inputs/Vector2Node.cjs.js"),require("../inputs/Vector3Node.cjs.js"),require("../inputs/Vector4Node.cjs.js"),require("../inputs/TextureNode.cjs.js"),require("../accessors/UVNode.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("../
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./nodes/BasicNode.cjs.js"),r=require("./NodeMaterial.cjs.js"),s=require("../core/NodeUtils.cjs.js");function o(){var s=new e.BasicNode;r.NodeMaterial.call(this,s,s),this.type="BasicNodeMaterial"}require("../core/Node.cjs.js"),require("three"),require("../inputs/ColorNode.cjs.js"),require("../core/InputNode.cjs.js"),require("../core/TempNode.cjs.js"),require("../core/NodeBuilder.cjs.js"),require("../core/NodeUniform.cjs.js"),require("../core/NodeLib.cjs.js"),require("../core/FunctionNode.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/StructNode.cjs.js"),require("../inputs/Vector2Node.cjs.js"),require("../inputs/Vector3Node.cjs.js"),require("../inputs/Vector4Node.cjs.js"),require("../inputs/TextureNode.cjs.js"),require("../accessors/UVNode.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("../core/ExpressionNode.cjs.js"),require("../inputs/CubeTextureNode.cjs.js"),require("../accessors/ReflectNode.cjs.js"),require("../accessors/PositionNode.cjs.js"),require("../accessors/NormalNode.cjs.js"),require("../misc/TextureCubeNode.cjs.js"),require("../inputs/FloatNode.cjs.js"),require("../misc/TextureCubeUVNode.cjs.js"),require("../core/FunctionCallNode.cjs.js"),require("../math/OperatorNode.cjs.js"),require("../math/MathNode.cjs.js"),require("./nodes/RawNode.cjs.js"),o.prototype=Object.create(r.NodeMaterial.prototype),o.prototype.constructor=o,s.NodeUtils.addShortcuts(o.prototype,"fragment",["color","alpha","mask","position"]),exports.BasicNodeMaterial=o;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),t=require("../core/NodeBuilder.cjs.js"),i=require("../inputs/ColorNode.cjs.js"),s=require("../accessors/PositionNode.cjs.js"),r=require("./nodes/RawNode.cjs.js");function o(t,o){e.ShaderMaterial.call(this),this.vertex=t||new r.RawNode(new s.PositionNode(s.PositionNode.PROJECTION)),this.fragment=o||new r.RawNode(new i.ColorNode(16711680)),this.updaters=[]}require("../core/NodeUniform.cjs.js"),require("../core/NodeUtils.cjs.js"),require("../core/NodeLib.cjs.js"),require("../core/FunctionNode.cjs.js"),require("../core/TempNode.cjs.js"),require("../core/Node.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/StructNode.cjs.js"),require("../inputs/Vector2Node.cjs.js"),require("../core/InputNode.cjs.js"),require("../inputs/Vector3Node.cjs.js"),require("../inputs/Vector4Node.cjs.js"),require("../inputs/TextureNode.cjs.js"),require("../accessors/UVNode.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("../
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),t=require("../core/NodeBuilder.cjs.js"),i=require("../inputs/ColorNode.cjs.js"),s=require("../accessors/PositionNode.cjs.js"),r=require("./nodes/RawNode.cjs.js");function o(t,o){e.ShaderMaterial.call(this),this.vertex=t||new r.RawNode(new s.PositionNode(s.PositionNode.PROJECTION)),this.fragment=o||new r.RawNode(new i.ColorNode(16711680)),this.updaters=[]}require("../core/NodeUniform.cjs.js"),require("../core/NodeUtils.cjs.js"),require("../core/NodeLib.cjs.js"),require("../core/FunctionNode.cjs.js"),require("../core/TempNode.cjs.js"),require("../core/Node.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/StructNode.cjs.js"),require("../inputs/Vector2Node.cjs.js"),require("../core/InputNode.cjs.js"),require("../inputs/Vector3Node.cjs.js"),require("../inputs/Vector4Node.cjs.js"),require("../inputs/TextureNode.cjs.js"),require("../accessors/UVNode.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("../core/ExpressionNode.cjs.js"),require("../inputs/CubeTextureNode.cjs.js"),require("../accessors/ReflectNode.cjs.js"),require("../accessors/NormalNode.cjs.js"),require("../misc/TextureCubeNode.cjs.js"),require("../inputs/FloatNode.cjs.js"),require("../misc/TextureCubeUVNode.cjs.js"),require("../core/FunctionCallNode.cjs.js"),require("../math/OperatorNode.cjs.js"),require("../math/MathNode.cjs.js"),o.prototype=Object.create(e.ShaderMaterial.prototype),o.prototype.constructor=o,o.prototype.type="NodeMaterial",o.prototype.isNodeMaterial=!0,Object.defineProperties(o.prototype,{properties:{get:function(){return this.fragment.properties}},needsUpdate:{set:function(e){!0===e&&this.version++,this.needsCompile=e},get:function(){return this.needsCompile}}}),o.prototype.onBeforeCompile=function(e,t){this.build({renderer:t}),e.defines=this.defines,e.uniforms=this.uniforms,e.vertexShader=this.vertexShader,e.fragmentShader=this.fragmentShader,e.extensionDerivatives=!0===this.extensions.derivatives,e.extensionFragDepth=!0===this.extensions.fragDepth,e.extensionDrawBuffers=!0===this.extensions.drawBuffers,e.extensionShaderTextureLOD=!0===this.extensions.shaderTextureLOD},o.prototype.customProgramCacheKey=function(){return this.getHash()},o.prototype.getHash=function(){var e="{";return e+='"vertex":'+this.vertex.getHash()+",",e+='"fragment":'+this.fragment.getHash(),e+="}"},o.prototype.updateFrame=function(e){for(let t=0;t<this.updaters.length;++t)e.updateNode(this.updaters[t])},o.prototype.build=function(i){var s=(i=i||{}).builder||new t.NodeBuilder;return s.setMaterial(this,i.renderer),s.build(this.vertex,this.fragment),this.vertexShader=s.getCode("vertex"),this.fragmentShader=s.getCode("fragment"),this.defines=s.defines,this.uniforms=s.uniforms,this.extensions=s.extensions,this.updaters=s.updaters,this.fog=s.requires.fog,this.lights=s.requires.lights,this.transparent=s.requires.transparent||this.blending>e.NormalBlending,this},o.prototype.copy=function(e){var t=this.uuid;for(let t in e)this[t]=e[t];return this.uuid=t,void 0!==e.userData&&(this.userData=JSON.parse(JSON.stringify(e.userData))),this},o.prototype.toJSON=function(t){if((void 0===t||"string"==typeof t)&&(t={nodes:{}}),t&&!t.materials&&(t.materials={}),!t.materials[this.uuid]){var i={};i.uuid=this.uuid,i.type=this.type,t.materials[i.uuid]=i,""!==this.name&&(i.name=this.name),void 0!==this.size&&(i.size=this.size),void 0!==this.sizeAttenuation&&(i.sizeAttenuation=this.sizeAttenuation),this.blending!==e.NormalBlending&&(i.blending=this.blending),!0===this.flatShading&&(i.flatShading=this.flatShading),this.side!==e.FrontSide&&(i.side=this.side),this.vertexColors!==e.NoColors&&(i.vertexColors=this.vertexColors),this.depthFunc!==e.LessEqualDepth&&(i.depthFunc=this.depthFunc),!1===this.depthTest&&(i.depthTest=this.depthTest),!1===this.depthWrite&&(i.depthWrite=this.depthWrite),1!==this.linewidth&&(i.linewidth=this.linewidth),void 0!==this.dashSize&&(i.dashSize=this.dashSize),void 0!==this.gapSize&&(i.gapSize=this.gapSize),void 0!==this.scale&&(i.scale=this.scale),!0===this.dithering&&(i.dithering=!0),!0===this.wireframe&&(i.wireframe=this.wireframe),this.wireframeLinewidth>1&&(i.wireframeLinewidth=this.wireframeLinewidth),"round"!==this.wireframeLinecap&&(i.wireframeLinecap=this.wireframeLinecap),"round"!==this.wireframeLinejoin&&(i.wireframeLinejoin=this.wireframeLinejoin),this.alphaTest>0&&(i.alphaTest=this.alphaTest),!0===this.premultipliedAlpha&&(i.premultipliedAlpha=this.premultipliedAlpha),!0===this.morphTargets&&(i.morphTargets=!0),!0===this.skinning&&(i.skinning=!0),!1===this.visible&&(i.visible=!1),"{}"!==JSON.stringify(this.userData)&&(i.userData=this.userData),i.fog=this.fog,i.lights=this.lights,i.vertex=this.vertex.toJSON(t).uuid,i.fragment=this.fragment.toJSON(t).uuid}return t.material=this.uuid,t},exports.NodeMaterial=o;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./nodes/SpriteNode.cjs.js"),r=require("./NodeMaterial.cjs.js"),s=require("../core/NodeUtils.cjs.js");function o(){var s=new e.SpriteNode;r.NodeMaterial.call(this,s,s),this.type="SpriteNodeMaterial"}require("three"),require("../core/Node.cjs.js"),require("../inputs/ColorNode.cjs.js"),require("../core/InputNode.cjs.js"),require("../core/TempNode.cjs.js"),require("../core/NodeBuilder.cjs.js"),require("../core/NodeUniform.cjs.js"),require("../core/NodeLib.cjs.js"),require("../core/FunctionNode.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/StructNode.cjs.js"),require("../inputs/Vector2Node.cjs.js"),require("../inputs/Vector3Node.cjs.js"),require("../inputs/Vector4Node.cjs.js"),require("../inputs/TextureNode.cjs.js"),require("../accessors/UVNode.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("../
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./nodes/SpriteNode.cjs.js"),r=require("./NodeMaterial.cjs.js"),s=require("../core/NodeUtils.cjs.js");function o(){var s=new e.SpriteNode;r.NodeMaterial.call(this,s,s),this.type="SpriteNodeMaterial"}require("three"),require("../core/Node.cjs.js"),require("../inputs/ColorNode.cjs.js"),require("../core/InputNode.cjs.js"),require("../core/TempNode.cjs.js"),require("../core/NodeBuilder.cjs.js"),require("../core/NodeUniform.cjs.js"),require("../core/NodeLib.cjs.js"),require("../core/FunctionNode.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/StructNode.cjs.js"),require("../inputs/Vector2Node.cjs.js"),require("../inputs/Vector3Node.cjs.js"),require("../inputs/Vector4Node.cjs.js"),require("../inputs/TextureNode.cjs.js"),require("../accessors/UVNode.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("../core/ExpressionNode.cjs.js"),require("../inputs/CubeTextureNode.cjs.js"),require("../accessors/ReflectNode.cjs.js"),require("../accessors/PositionNode.cjs.js"),require("../accessors/NormalNode.cjs.js"),require("../misc/TextureCubeNode.cjs.js"),require("../inputs/FloatNode.cjs.js"),require("../misc/TextureCubeUVNode.cjs.js"),require("../core/FunctionCallNode.cjs.js"),require("../math/OperatorNode.cjs.js"),require("../math/MathNode.cjs.js"),require("./nodes/RawNode.cjs.js"),o.prototype=Object.create(r.NodeMaterial.prototype),o.prototype.constructor=o,s.NodeUtils.addShortcuts(o.prototype,"fragment",["color","alpha","mask","position","spherical"]),exports.SpriteNodeMaterial=o;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),s=require("../../postprocessing/ShaderPass.cjs.js"),r=require("../materials/NodeMaterial.cjs.js"),t=require("../inputs/ScreenNode.cjs.js");function i(){s.ShaderPass.call(this),this.name="",this.uuid=e.MathUtils.generateUUID(),this.userData={},this.textureID="renderTexture",this.input=new t.ScreenNode,this.material=new r.NodeMaterial,this.needsUpdate=!0}require("@babel/runtime/helpers/defineProperty"),require("../../postprocessing/Pass.cjs.js"),require("../core/NodeBuilder.cjs.js"),require("../core/NodeUniform.cjs.js"),require("../core/NodeUtils.cjs.js"),require("../core/NodeLib.cjs.js"),require("../core/FunctionNode.cjs.js"),require("../core/TempNode.cjs.js"),require("../core/Node.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/StructNode.cjs.js"),require("../inputs/Vector2Node.cjs.js"),require("../core/InputNode.cjs.js"),require("../inputs/Vector3Node.cjs.js"),require("../inputs/Vector4Node.cjs.js"),require("../inputs/TextureNode.cjs.js"),require("../accessors/UVNode.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("../
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),s=require("../../postprocessing/ShaderPass.cjs.js"),r=require("../materials/NodeMaterial.cjs.js"),t=require("../inputs/ScreenNode.cjs.js");function i(){s.ShaderPass.call(this),this.name="",this.uuid=e.MathUtils.generateUUID(),this.userData={},this.textureID="renderTexture",this.input=new t.ScreenNode,this.material=new r.NodeMaterial,this.needsUpdate=!0}require("@babel/runtime/helpers/defineProperty"),require("../../postprocessing/Pass.cjs.js"),require("../core/NodeBuilder.cjs.js"),require("../core/NodeUniform.cjs.js"),require("../core/NodeUtils.cjs.js"),require("../core/NodeLib.cjs.js"),require("../core/FunctionNode.cjs.js"),require("../core/TempNode.cjs.js"),require("../core/Node.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/StructNode.cjs.js"),require("../inputs/Vector2Node.cjs.js"),require("../core/InputNode.cjs.js"),require("../inputs/Vector3Node.cjs.js"),require("../inputs/Vector4Node.cjs.js"),require("../inputs/TextureNode.cjs.js"),require("../accessors/UVNode.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("../core/ExpressionNode.cjs.js"),require("../inputs/CubeTextureNode.cjs.js"),require("../accessors/ReflectNode.cjs.js"),require("../accessors/PositionNode.cjs.js"),require("../accessors/NormalNode.cjs.js"),require("../misc/TextureCubeNode.cjs.js"),require("../inputs/FloatNode.cjs.js"),require("../misc/TextureCubeUVNode.cjs.js"),require("../core/FunctionCallNode.cjs.js"),require("../math/OperatorNode.cjs.js"),require("../math/MathNode.cjs.js"),require("../inputs/ColorNode.cjs.js"),require("../materials/nodes/RawNode.cjs.js"),i.prototype=Object.create(s.ShaderPass.prototype),i.prototype.constructor=i,i.prototype.render=function(){this.needsUpdate&&(this.material.dispose(),this.material.fragment.value=this.input,this.needsUpdate=!1),this.uniforms=this.material.uniforms,s.ShaderPass.prototype.render.apply(this,arguments)},i.prototype.copy=function(e){return this.input=e.input,this},i.prototype.toJSON=function(e){if((void 0===e||"string"==typeof e)&&(e={nodes:{}}),e&&!e.passes&&(e.passes={}),!e.passes[this.uuid]){var s={};s.uuid=this.uuid,s.type="NodePass",e.passes[this.uuid]=s,""!==this.name&&(s.name=this.name),"{}"!==JSON.stringify(this.userData)&&(s.userData=this.userData),s.input=this.input.toJSON(e).uuid}return e.pass=this.uuid,e},exports.NodePass=i;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("../materials/NodeMaterial.cjs.js"),t=require("../inputs/ScreenNode.cjs.js");function s(s,i){if(void 0===i){var o={minFilter:e.LinearFilter,magFilter:e.LinearFilter,format:e.RGBAFormat},u=s.getDrawingBufferSize(new e.Vector2);i=new e.WebGLRenderTarget(u.width,u.height,o)}this.renderer=s,this.renderTarget=i,this.output=new t.ScreenNode,this.material=new r.NodeMaterial,this.camera=new e.OrthographicCamera(-1,1,1,-1,0,1),this.scene=new e.Scene,this.quad=new e.Mesh(new e.PlaneGeometry(2,2),this.material),this.quad.frustumCulled=!1,this.scene.add(this.quad),this.needsUpdate=!0}require("../core/NodeBuilder.cjs.js"),require("../core/NodeUniform.cjs.js"),require("../core/NodeUtils.cjs.js"),require("../core/NodeLib.cjs.js"),require("../core/FunctionNode.cjs.js"),require("../core/TempNode.cjs.js"),require("../core/Node.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/StructNode.cjs.js"),require("../inputs/Vector2Node.cjs.js"),require("../core/InputNode.cjs.js"),require("../inputs/Vector3Node.cjs.js"),require("../inputs/Vector4Node.cjs.js"),require("../inputs/TextureNode.cjs.js"),require("../accessors/UVNode.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("../
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("three"),r=require("../materials/NodeMaterial.cjs.js"),t=require("../inputs/ScreenNode.cjs.js");function s(s,i){if(void 0===i){var o={minFilter:e.LinearFilter,magFilter:e.LinearFilter,format:e.RGBAFormat},u=s.getDrawingBufferSize(new e.Vector2);i=new e.WebGLRenderTarget(u.width,u.height,o)}this.renderer=s,this.renderTarget=i,this.output=new t.ScreenNode,this.material=new r.NodeMaterial,this.camera=new e.OrthographicCamera(-1,1,1,-1,0,1),this.scene=new e.Scene,this.quad=new e.Mesh(new e.PlaneGeometry(2,2),this.material),this.quad.frustumCulled=!1,this.scene.add(this.quad),this.needsUpdate=!0}require("../core/NodeBuilder.cjs.js"),require("../core/NodeUniform.cjs.js"),require("../core/NodeUtils.cjs.js"),require("../core/NodeLib.cjs.js"),require("../core/FunctionNode.cjs.js"),require("../core/TempNode.cjs.js"),require("../core/Node.cjs.js"),require("../core/ConstNode.cjs.js"),require("../core/StructNode.cjs.js"),require("../inputs/Vector2Node.cjs.js"),require("../core/InputNode.cjs.js"),require("../inputs/Vector3Node.cjs.js"),require("../inputs/Vector4Node.cjs.js"),require("../inputs/TextureNode.cjs.js"),require("../accessors/UVNode.cjs.js"),require("../utils/ColorSpaceNode.cjs.js"),require("../core/ExpressionNode.cjs.js"),require("../inputs/CubeTextureNode.cjs.js"),require("../accessors/ReflectNode.cjs.js"),require("../accessors/PositionNode.cjs.js"),require("../accessors/NormalNode.cjs.js"),require("../misc/TextureCubeNode.cjs.js"),require("../inputs/FloatNode.cjs.js"),require("../misc/TextureCubeUVNode.cjs.js"),require("../core/FunctionCallNode.cjs.js"),require("../math/OperatorNode.cjs.js"),require("../math/MathNode.cjs.js"),require("../inputs/ColorNode.cjs.js"),require("../materials/nodes/RawNode.cjs.js"),s.prototype={constructor:s,render:function(e,r,t){this.needsUpdate&&(this.material.dispose(),this.material.fragment.value=this.output,this.material.build(),this.material.uniforms.renderTexture&&(this.material.uniforms.renderTexture.value=this.renderTarget.texture),this.needsUpdate=!1),t.setRenderer(this.renderer).setRenderTexture(this.renderTarget.texture),this.renderer.setRenderTarget(this.renderTarget),this.renderer.render(e,r),t.updateNode(this.material),this.renderer.setRenderTarget(null),this.renderer.render(this.scene,this.camera)},setPixelRatio:function(r){this.renderer.setPixelRatio(r);var t=this.renderer.getSize(new e.Vector2);this.setSize(t.width,t.height)},setSize:function(e,r){var t=this.renderer.getPixelRatio();this.renderTarget.setSize(e*t,r*t),this.renderer.setSize(e,r)},copy:function(e){return this.output=e.output,this},toJSON:function(e){if((void 0===e||"string"==typeof e)&&(e={nodes:{}}),e&&!e.post&&(e.post={}),!e.post[this.uuid]){var r={};r.uuid=this.uuid,r.type="NodePostProcessing",e.post[this.uuid]=r,""!==this.name&&(r.name=this.name),"{}"!==JSON.stringify(this.userData)&&(r.userData=this.userData),r.output=this.output.toJSON(e).uuid}return e.post=this.uuid,e}},exports.NodePostProcessing=s;
|
@@ -1 +1 @@
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,o,t,n,r,i,u=require("three"),c=require("../core/TempNode.cjs.js"),a=require("../core/ConstNode.cjs.js"),v=require("../core/FunctionNode.cjs.js");function p(e,o){c.TempNode.call(this,"v4"),this.input=e,this.method=o||p.LINEAR_TO_LINEAR}require("../core/Node.cjs.js"),require("../core/NodeLib.cjs.js"),p.Nodes=(e=new v.FunctionNode(["vec4 LinearToLinear( in vec4 value ) {","\treturn value;","}"].join("\n")),o=new v.FunctionNode(["vec4 sRGBToLinear( in vec4 value ) {","\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );","}"].join("\n")),t=new v.FunctionNode(["vec4 LinearTosRGB( in vec4 value ) {","\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.w );","}"].join("\n")),n=new a.ConstNode("const mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );"),r=new v.FunctionNode(["vec4 LinearToLogLuv( in vec4 value ) {","\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;","\tXp_Y_XYZp = max(Xp_Y_XYZp, vec3(1e-6, 1e-6, 1e-6));","\tvec4 vResult;","\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;","\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;","\tvResult.w = fract(Le);","\tvResult.z = (Le - (floor(vResult.w*255.0))/255.0)/255.0;","\treturn vResult;","}"].join("\n"),[n]),i=new a.ConstNode("const mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );"),{LinearToLinear:e,sRGBToLinear:o,LinearTosRGB:t,cLogLuvM:n,LinearToLogLuv:r,cLogLuvInverseM:i,LogLuvToLinear:new v.FunctionNode(["vec4 LogLuvToLinear( in vec4 value ) {","\tfloat Le = value.z * 255.0 + value.w;","\tvec3 Xp_Y_XYZp;","\tXp_Y_XYZp.y = exp2((Le - 127.0) / 2.0);","\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;","\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;","\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;","\treturn vec4( max(vRGB, 0.0), 1.0 );","}"].join("\n"),[i])}),p.LINEAR_TO_LINEAR="LinearToLinear",p.SRGB_TO_LINEAR="sRGBToLinear",p.LINEAR_TO_SRGB="LinearTosRGB",p.RGBE_TO_LINEAR="RGBEToLinear",p.LINEAR_TO_RGBE="LinearToRGBE",p.LINEAR_TO_LOG_LUV="LinearToLogLuv",p.LOG_LUV_TO_LINEAR="LogLuvToLinear",p.getEncodingComponents=function(e){switch(e){case u.LinearEncoding:return["Linear"];case u.sRGBEncoding:return["sRGB"]}},p.prototype=Object.create(c.TempNode.prototype),p.prototype.constructor=p,p.prototype.nodeType="ColorSpace",p.prototype.hashProperties=["method"],p.prototype.generate=function(e,o){var t=this.input.build(e,"v4"),n=this.getType(e),r=p.Nodes[this.method],i=e.include(r);if(i===p.LINEAR_TO_LINEAR)return e.format(t,n,o);if(2===r.inputs.length){var u=this.factor.build(e,"f");return e.format(i+"( "+t+", "+u+" )",n,o)}return e.format(i+"( "+t+" )",n,o)},p.prototype.fromEncoding=function(e){var o=p.getEncodingComponents(e);this.method="LinearTo"+o[0],this.factor=o[1]},p.prototype.fromDecoding=function(e){var o=p.getEncodingComponents(e);this.method=o[0]+"ToLinear",this.factor=o[1]},p.prototype.copy=function(e){return c.TempNode.prototype.copy.call(this,e),this.input=e.input,this.method=e.method,this},p.prototype.toJSON=function(e){var o=this.getJSONNode(e);return o||((o=this.createJSONNode(e)).input=this.input.toJSON(e).uuid,o.method=this.method),o},exports.ColorSpaceNode=p;
|
@@ -1,9 +1,7 @@
|
|
1
|
-
import {
|
1
|
+
import { sRGBEncoding, LinearEncoding } from 'three';
|
2
2
|
import { TempNode } from '../core/TempNode.js';
|
3
3
|
import { ConstNode } from '../core/ConstNode.js';
|
4
|
-
import { FloatNode } from '../inputs/FloatNode.js';
|
5
4
|
import { FunctionNode } from '../core/FunctionNode.js';
|
6
|
-
import { ExpressionNode } from '../core/ExpressionNode.js';
|
7
5
|
|
8
6
|
function ColorSpaceNode(input, method) {
|
9
7
|
TempNode.call(this, 'v4');
|
@@ -12,21 +10,9 @@ function ColorSpaceNode(input, method) {
|
|
12
10
|
}
|
13
11
|
|
14
12
|
ColorSpaceNode.Nodes = function () {
|
15
|
-
// For a discussion of what this is, please read this: http://lousodrome.net/blog/light/2013/05/26/gamma-correct-and-hdr-rendering-in-a-32-bits-buffer/
|
16
13
|
var LinearToLinear = new FunctionNode(['vec4 LinearToLinear( in vec4 value ) {', ' return value;', '}'].join('\n'));
|
17
|
-
var GammaToLinear = new FunctionNode(['vec4 GammaToLinear( in vec4 value, in float gammaFactor ) {', ' return vec4( pow( value.xyz, vec3( gammaFactor ) ), value.w );', '}'].join('\n'));
|
18
|
-
var LinearToGamma = new FunctionNode(['vec4 LinearToGamma( in vec4 value, in float gammaFactor ) {', ' return vec4( pow( value.xyz, vec3( 1.0 / gammaFactor ) ), value.w );', '}'].join('\n'));
|
19
14
|
var sRGBToLinear = new FunctionNode(['vec4 sRGBToLinear( in vec4 value ) {', ' return vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.w );', '}'].join('\n'));
|
20
|
-
var LinearTosRGB = new FunctionNode(['vec4 LinearTosRGB( in vec4 value ) {', ' return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.w );', '}'].join('\n'));
|
21
|
-
var RGBEToLinear = new FunctionNode(['vec4 RGBEToLinear( in vec4 value ) {', ' return vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );', '}'].join('\n'));
|
22
|
-
var LinearToRGBE = new FunctionNode(['vec4 LinearToRGBE( in vec4 value ) {', ' float maxComponent = max( max( value.r, value.g ), value.b );', ' float fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );', ' return vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );', // return vec4( value.brg, ( 3.0 + 128.0 ) / 256.0 );
|
23
|
-
'}'].join('\n')); // reference: http://iwasbeingirony.blogspot.ca/2010/06/difference-between-rgbm-and-rgbd.html
|
24
|
-
|
25
|
-
var RGBMToLinear = new FunctionNode(['vec3 RGBMToLinear( in vec4 value, in float maxRange ) {', ' return vec4( value.xyz * value.w * maxRange, 1.0 );', '}'].join('\n'));
|
26
|
-
var LinearToRGBM = new FunctionNode(['vec3 LinearToRGBM( in vec4 value, in float maxRange ) {', ' float maxRGB = max( value.x, max( value.g, value.b ) );', ' float M = clamp( maxRGB / maxRange, 0.0, 1.0 );', ' M = ceil( M * 255.0 ) / 255.0;', ' return vec4( value.rgb / ( M * maxRange ), M );', '}'].join('\n')); // reference: http://iwasbeingirony.blogspot.ca/2010/06/difference-between-rgbm-and-rgbd.html
|
27
|
-
|
28
|
-
var RGBDToLinear = new FunctionNode(['vec3 RGBDToLinear( in vec4 value, in float maxRange ) {', ' return vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );', '}'].join('\n'));
|
29
|
-
var LinearToRGBD = new FunctionNode(['vec3 LinearToRGBD( in vec4 value, in float maxRange ) {', ' float maxRGB = max( value.x, max( value.g, value.b ) );', ' float D = max( maxRange / maxRGB, 1.0 );', ' D = clamp( floor( D ) / 255.0, 0.0, 1.0 );', ' return vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );', '}'].join('\n')); // LogLuv reference: http://graphicrants.blogspot.ca/2009/04/rgbm-color-encoding.html
|
15
|
+
var LinearTosRGB = new FunctionNode(['vec4 LinearTosRGB( in vec4 value ) {', ' return vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.w );', '}'].join('\n')); // LogLuv reference: http://graphicrants.blogspot.ca/2009/04/rgbm-color-encoding.html
|
30
16
|
// M matrix, for encoding
|
31
17
|
|
32
18
|
var cLogLuvM = new ConstNode('const mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );');
|
@@ -36,16 +22,8 @@ ColorSpaceNode.Nodes = function () {
|
|
36
22
|
var LogLuvToLinear = new FunctionNode(['vec4 LogLuvToLinear( in vec4 value ) {', ' float Le = value.z * 255.0 + value.w;', ' vec3 Xp_Y_XYZp;', ' Xp_Y_XYZp.y = exp2((Le - 127.0) / 2.0);', ' Xp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;', ' Xp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;', ' vec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;', ' return vec4( max(vRGB, 0.0), 1.0 );', '}'].join('\n'), [cLogLuvInverseM]);
|
37
23
|
return {
|
38
24
|
LinearToLinear: LinearToLinear,
|
39
|
-
GammaToLinear: GammaToLinear,
|
40
|
-
LinearToGamma: LinearToGamma,
|
41
25
|
sRGBToLinear: sRGBToLinear,
|
42
26
|
LinearTosRGB: LinearTosRGB,
|
43
|
-
RGBEToLinear: RGBEToLinear,
|
44
|
-
LinearToRGBE: LinearToRGBE,
|
45
|
-
RGBMToLinear: RGBMToLinear,
|
46
|
-
LinearToRGBM: LinearToRGBM,
|
47
|
-
RGBDToLinear: RGBDToLinear,
|
48
|
-
LinearToRGBD: LinearToRGBD,
|
49
27
|
cLogLuvM: cLogLuvM,
|
50
28
|
LinearToLogLuv: LinearToLogLuv,
|
51
29
|
cLogLuvInverseM: cLogLuvInverseM,
|
@@ -54,16 +32,10 @@ ColorSpaceNode.Nodes = function () {
|
|
54
32
|
}();
|
55
33
|
|
56
34
|
ColorSpaceNode.LINEAR_TO_LINEAR = 'LinearToLinear';
|
57
|
-
ColorSpaceNode.GAMMA_TO_LINEAR = 'GammaToLinear';
|
58
|
-
ColorSpaceNode.LINEAR_TO_GAMMA = 'LinearToGamma';
|
59
35
|
ColorSpaceNode.SRGB_TO_LINEAR = 'sRGBToLinear';
|
60
36
|
ColorSpaceNode.LINEAR_TO_SRGB = 'LinearTosRGB';
|
61
37
|
ColorSpaceNode.RGBE_TO_LINEAR = 'RGBEToLinear';
|
62
38
|
ColorSpaceNode.LINEAR_TO_RGBE = 'LinearToRGBE';
|
63
|
-
ColorSpaceNode.RGBM_TO_LINEAR = 'RGBMToLinear';
|
64
|
-
ColorSpaceNode.LINEAR_TO_RGBM = 'LinearToRGBM';
|
65
|
-
ColorSpaceNode.RGBD_TO_LINEAR = 'RGBDToLinear';
|
66
|
-
ColorSpaceNode.LINEAR_TO_RGBD = 'LinearToRGBD';
|
67
39
|
ColorSpaceNode.LINEAR_TO_LOG_LUV = 'LinearToLogLuv';
|
68
40
|
ColorSpaceNode.LOG_LUV_TO_LINEAR = 'LogLuvToLinear';
|
69
41
|
|
@@ -74,21 +46,6 @@ ColorSpaceNode.getEncodingComponents = function (encoding) {
|
|
74
46
|
|
75
47
|
case sRGBEncoding:
|
76
48
|
return ['sRGB'];
|
77
|
-
|
78
|
-
case RGBEEncoding:
|
79
|
-
return ['RGBE'];
|
80
|
-
|
81
|
-
case RGBM7Encoding:
|
82
|
-
return ['RGBM', new FloatNode(7.0).setReadonly(true)];
|
83
|
-
|
84
|
-
case RGBM16Encoding:
|
85
|
-
return ['RGBM', new FloatNode(16.0).setReadonly(true)];
|
86
|
-
|
87
|
-
case RGBDEncoding:
|
88
|
-
return ['RGBD', new FloatNode(256.0).setReadonly(true)];
|
89
|
-
|
90
|
-
case GammaEncoding:
|
91
|
-
return ['Gamma', new ExpressionNode('float( GAMMA_FACTOR )', 'f')];
|
92
49
|
}
|
93
50
|
};
|
94
51
|
|
package/package.json
CHANGED
@@ -9,8 +9,7 @@ const GammaCorrectionShader = {
|
|
9
9
|
}
|
10
10
|
},
|
11
11
|
vertexShader: ['varying vec2 vUv;', 'void main() {', ' vUv = uv;', ' gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );', '}'].join('\n'),
|
12
|
-
fragmentShader: ['uniform sampler2D tDiffuse;', 'varying vec2 vUv;', 'void main() {', ' vec4 tex = texture2D( tDiffuse, vUv );', ' gl_FragColor = LinearTosRGB( tex );',
|
13
|
-
'}'].join('\n')
|
12
|
+
fragmentShader: ['uniform sampler2D tDiffuse;', 'varying vec2 vUv;', 'void main() {', ' vec4 tex = texture2D( tDiffuse, vUv );', ' gl_FragColor = LinearTosRGB( tex );', '}'].join('\n')
|
14
13
|
};
|
15
14
|
|
16
15
|
export { GammaCorrectionShader };
|