@luma.gl/shadertools 8.5.15 → 8.5.17
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.
- package/dist/dist.js +75 -75
- package/dist/dist.min.js +1 -1
- package/dist/es5/index.js +10 -10
- package/dist/es5/lib/assemble-shaders.js +6 -2
- package/dist/es5/lib/assemble-shaders.js.map +1 -1
- package/dist/es5/lib/constants.js +1 -1
- package/dist/es5/lib/inject-shader.js +2 -2
- package/dist/es5/lib/resolve-modules.js +2 -2
- package/dist/es5/lib/shader-module.js +1 -1
- package/dist/es5/lib/shader-module.js.map +1 -1
- package/dist/es5/lib/transpile-shader.js +1 -1
- package/dist/es5/modules/fp64/fp64-utils.js +1 -1
- package/dist/es5/modules/fp64/fp64.js +6 -5
- package/dist/es5/modules/fp64/fp64.js.map +1 -1
- package/dist/es5/modules/index.js +62 -62
- package/dist/es5/modules/lights/lights.js +1 -1
- package/dist/es5/modules/lights/lights.js.map +1 -1
- package/dist/es5/modules/module-injectors.js +1 -1
- package/dist/es5/modules/phong-lighting/phong-lighting.js.map +1 -1
- package/dist/es5/utils/shader-utils.js +3 -3
- package/dist/es5/utils/shader-utils.js.map +1 -1
- package/dist/es5/utils/webgl-info.js +2 -2
- package/dist/esm/lib/assemble-shaders.js +38 -51
- package/dist/esm/lib/assemble-shaders.js.map +1 -1
- package/dist/esm/lib/inject-shader.js +4 -3
- package/dist/esm/lib/inject-shader.js.map +1 -1
- package/dist/esm/lib/platform-defines.js +9 -80
- package/dist/esm/lib/platform-defines.js.map +1 -1
- package/dist/esm/lib/resolve-modules.js +9 -7
- package/dist/esm/lib/resolve-modules.js.map +1 -1
- package/dist/esm/lib/shader-module.js +20 -23
- package/dist/esm/lib/shader-module.js.map +1 -1
- package/dist/esm/lib/transpile-shader.js +5 -5
- package/dist/esm/lib/transpile-shader.js.map +1 -1
- package/dist/esm/modules/dirlight/dirlight.js +3 -9
- package/dist/esm/modules/dirlight/dirlight.js.map +1 -1
- package/dist/esm/modules/fp32/fp32.js +1 -148
- package/dist/esm/modules/fp32/fp32.js.map +1 -1
- package/dist/esm/modules/fp64/fp64-arithmetic.glsl.js +1 -143
- package/dist/esm/modules/fp64/fp64-arithmetic.glsl.js.map +1 -1
- package/dist/esm/modules/fp64/fp64-functions.glsl.js +1 -630
- package/dist/esm/modules/fp64/fp64-functions.glsl.js.map +1 -1
- package/dist/esm/modules/fp64/fp64-utils.js +3 -1
- package/dist/esm/modules/fp64/fp64-utils.js.map +1 -1
- package/dist/esm/modules/fxaa/fxaa.js +1 -535
- package/dist/esm/modules/fxaa/fxaa.js.map +1 -1
- package/dist/esm/modules/geometry/geometry.js +2 -28
- package/dist/esm/modules/geometry/geometry.js.map +1 -1
- package/dist/esm/modules/image-adjust-filters/brightnesscontrast.js +1 -18
- package/dist/esm/modules/image-adjust-filters/brightnesscontrast.js.map +1 -1
- package/dist/esm/modules/image-adjust-filters/denoise.js +1 -22
- package/dist/esm/modules/image-adjust-filters/denoise.js.map +1 -1
- package/dist/esm/modules/image-adjust-filters/huesaturation.js +1 -28
- package/dist/esm/modules/image-adjust-filters/huesaturation.js.map +1 -1
- package/dist/esm/modules/image-adjust-filters/noise.js +1 -19
- package/dist/esm/modules/image-adjust-filters/noise.js.map +1 -1
- package/dist/esm/modules/image-adjust-filters/sepia.js +1 -20
- package/dist/esm/modules/image-adjust-filters/sepia.js.map +1 -1
- package/dist/esm/modules/image-adjust-filters/vibrance.js +1 -15
- package/dist/esm/modules/image-adjust-filters/vibrance.js.map +1 -1
- package/dist/esm/modules/image-adjust-filters/vignette.js +1 -14
- package/dist/esm/modules/image-adjust-filters/vignette.js.map +1 -1
- package/dist/esm/modules/image-blur-filters/tiltshift.js +1 -37
- package/dist/esm/modules/image-blur-filters/tiltshift.js.map +1 -1
- package/dist/esm/modules/image-blur-filters/triangleblur.js +1 -27
- package/dist/esm/modules/image-blur-filters/triangleblur.js.map +1 -1
- package/dist/esm/modules/image-blur-filters/zoomblur.js +1 -26
- package/dist/esm/modules/image-blur-filters/zoomblur.js.map +1 -1
- package/dist/esm/modules/image-fun-filters/colorhalftone.js +1 -34
- package/dist/esm/modules/image-fun-filters/colorhalftone.js.map +1 -1
- package/dist/esm/modules/image-fun-filters/dotscreen.js +1 -22
- package/dist/esm/modules/image-fun-filters/dotscreen.js.map +1 -1
- package/dist/esm/modules/image-fun-filters/edgework.js +1 -50
- package/dist/esm/modules/image-fun-filters/edgework.js.map +1 -1
- package/dist/esm/modules/image-fun-filters/hexagonalpixelate.js +1 -42
- package/dist/esm/modules/image-fun-filters/hexagonalpixelate.js.map +1 -1
- package/dist/esm/modules/image-fun-filters/ink.js +1 -27
- package/dist/esm/modules/image-fun-filters/ink.js.map +1 -1
- package/dist/esm/modules/image-fun-filters/magnify.js +1 -20
- package/dist/esm/modules/image-fun-filters/magnify.js.map +1 -1
- package/dist/esm/modules/image-warp-filters/bulgepinch.js +1 -27
- package/dist/esm/modules/image-warp-filters/bulgepinch.js.map +1 -1
- package/dist/esm/modules/image-warp-filters/swirl.js +1 -29
- package/dist/esm/modules/image-warp-filters/swirl.js.map +1 -1
- package/dist/esm/modules/image-warp-filters/warp.js +1 -11
- package/dist/esm/modules/image-warp-filters/warp.js.map +1 -1
- package/dist/esm/modules/lights/lights.glsl.js +1 -34
- package/dist/esm/modules/lights/lights.glsl.js.map +1 -1
- package/dist/esm/modules/lights/lights.js +19 -15
- package/dist/esm/modules/lights/lights.js.map +1 -1
- package/dist/esm/modules/module-injectors.js +2 -27
- package/dist/esm/modules/module-injectors.js.map +1 -1
- package/dist/esm/modules/pbr/pbr-fragment.glsl.js +1 -351
- package/dist/esm/modules/pbr/pbr-fragment.glsl.js.map +1 -1
- package/dist/esm/modules/pbr/pbr-vertex.glsl.js +1 -39
- package/dist/esm/modules/pbr/pbr-vertex.glsl.js.map +1 -1
- package/dist/esm/modules/phong-lighting/phong-lighting.glsl.js +1 -75
- package/dist/esm/modules/phong-lighting/phong-lighting.glsl.js.map +1 -1
- package/dist/esm/modules/phong-lighting/phong-lighting.js +3 -1
- package/dist/esm/modules/phong-lighting/phong-lighting.js.map +1 -1
- package/dist/esm/modules/picking/picking.js +4 -87
- package/dist/esm/modules/picking/picking.js.map +1 -1
- package/dist/esm/modules/project/project.js +6 -69
- package/dist/esm/modules/project/project.js.map +1 -1
- package/dist/esm/modules/transform/transform.js +1 -28
- package/dist/esm/modules/transform/transform.js.map +1 -1
- package/dist/esm/modules/utils/random.js +1 -5
- package/dist/esm/modules/utils/random.js.map +1 -1
- package/dist/esm/utils/is-old-ie.js +2 -1
- package/dist/esm/utils/is-old-ie.js.map +1 -1
- package/dist/esm/utils/shader-utils.js +11 -24
- package/dist/esm/utils/shader-utils.js.map +1 -1
- package/dist/esm/utils/webgl-info.js +3 -2
- package/dist/esm/utils/webgl-info.js.map +1 -1
- package/package.json +2 -2
- package/src/lib/.platform-defines.js.swp +0 -0
- package/src/utils/.webgl-info.js.swp +0 -0
package/dist/es5/index.js
CHANGED
|
@@ -25,28 +25,28 @@ Object.defineProperty(exports, "combineInjects", {
|
|
|
25
25
|
return _injectShader.combineInjects;
|
|
26
26
|
}
|
|
27
27
|
});
|
|
28
|
-
Object.defineProperty(exports, "
|
|
28
|
+
Object.defineProperty(exports, "convertToVec4", {
|
|
29
29
|
enumerable: true,
|
|
30
30
|
get: function get() {
|
|
31
|
-
return
|
|
31
|
+
return _shaderUtils.convertToVec4;
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
|
-
Object.defineProperty(exports, "
|
|
34
|
+
Object.defineProperty(exports, "getPassthroughFS", {
|
|
35
35
|
enumerable: true,
|
|
36
36
|
get: function get() {
|
|
37
|
-
return _shaderUtils.
|
|
37
|
+
return _shaderUtils.getPassthroughFS;
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
|
-
Object.defineProperty(exports, "
|
|
40
|
+
Object.defineProperty(exports, "getQualifierDetails", {
|
|
41
41
|
enumerable: true,
|
|
42
42
|
get: function get() {
|
|
43
|
-
return _shaderUtils.
|
|
43
|
+
return _shaderUtils.getQualifierDetails;
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
|
-
Object.defineProperty(exports, "
|
|
46
|
+
Object.defineProperty(exports, "normalizeShaderModule", {
|
|
47
47
|
enumerable: true,
|
|
48
48
|
get: function get() {
|
|
49
|
-
return
|
|
49
|
+
return _shaderModule.normalizeShaderModule;
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
52
|
Object.defineProperty(exports, "typeToChannelCount", {
|
|
@@ -55,10 +55,10 @@ Object.defineProperty(exports, "typeToChannelCount", {
|
|
|
55
55
|
return _shaderUtils.typeToChannelCount;
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
|
-
Object.defineProperty(exports, "
|
|
58
|
+
Object.defineProperty(exports, "typeToChannelSuffix", {
|
|
59
59
|
enumerable: true,
|
|
60
60
|
get: function get() {
|
|
61
|
-
return _shaderUtils.
|
|
61
|
+
return _shaderUtils.typeToChannelSuffix;
|
|
62
62
|
}
|
|
63
63
|
});
|
|
64
64
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
6
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
@@ -27,7 +27,11 @@ var _utils = require("../utils");
|
|
|
27
27
|
|
|
28
28
|
var _SHADER_TYPE;
|
|
29
29
|
|
|
30
|
-
function
|
|
30
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
|
+
|
|
32
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
33
|
+
|
|
34
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
31
35
|
|
|
32
36
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
33
37
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/assemble-shaders.js"],"names":["INJECT_SHADER_DECLARATIONS","DECLARATION_INJECT_MARKER","SHADER_TYPE","VERTEX_SHADER","FRAGMENT_SHADER","FRAGMENT_SHADER_PROLOGUE","assembleShaders","gl","opts","vs","fs","modules","assembleShader","Object","assign","source","type","getUniforms","assembleGetUniforms","id","defines","hookFunctions","inject","transpileToGLSL100","prologue","log","isVertex","sourceLines","split","glslVersion","versionLine","coreSource","indexOf","slice","join","allDefines","forEach","module","getDefines","assembledSource","getShaderName","getShaderType","getApplicationDefines","hookFunctionMap","normalizeHookFunctions","hookInjections","declInjections","mainInjections","key","injection","order","match","hash","name","checkDeprecations","moduleSource","getModuleSource","injections","injectionType","push","getHookFunctions","uniforms","moduleUniforms","toUpperCase","injectShaderName","count","sourceText","define","value","Number","isFinite","result","hookName","hookFunction","signature","header","sort","a","b","footer","hook","trim","stage","replace"],"mappings":"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","sourcesContent":["import {VERTEX_SHADER, FRAGMENT_SHADER} from './constants';\nimport {resolveModules} from './resolve-modules';\nimport {getPlatformShaderDefines, getVersionDefines} from './platform-defines';\nimport injectShader, {DECLARATION_INJECT_MARKER} from './inject-shader';\nimport transpileShader from './transpile-shader';\nimport {assert} from '../utils';\n\nconst INJECT_SHADER_DECLARATIONS = `\\n\\n${DECLARATION_INJECT_MARKER}\\n\\n`;\n\nconst SHADER_TYPE = {\n [VERTEX_SHADER]: 'vertex',\n [FRAGMENT_SHADER]: 'fragment'\n};\n\n// Precision prologue to inject before functions are injected in shader\n// TODO - extract any existing prologue in the fragment source and move it up...\nconst FRAGMENT_SHADER_PROLOGUE = `\\\nprecision highp float;\n\n`;\n\n// Inject a list of modules\nexport function assembleShaders(gl, opts) {\n const {vs, fs} = opts;\n const modules = resolveModules(opts.modules || []);\n return {\n gl,\n vs: assembleShader(gl, Object.assign({}, opts, {source: vs, type: VERTEX_SHADER, modules})),\n fs: assembleShader(gl, Object.assign({}, opts, {source: fs, type: FRAGMENT_SHADER, modules})),\n getUniforms: assembleGetUniforms(modules)\n };\n}\n\n// Pulls together complete source code for either a vertex or a fragment shader\n// adding prologues, requested module chunks, and any final injections.\nfunction assembleShader(\n gl,\n {\n id,\n source,\n type,\n modules,\n defines = {},\n hookFunctions = [],\n inject = {},\n transpileToGLSL100 = false,\n prologue = true,\n log\n }\n) {\n assert(typeof source === 'string', 'shader source must be a string');\n\n const isVertex = type === VERTEX_SHADER;\n\n const sourceLines = source.split('\\n');\n let glslVersion = 100;\n let versionLine = '';\n let coreSource = source;\n // Extract any version directive string from source.\n // TODO : keep all pre-processor statements at the begining of the shader.\n if (sourceLines[0].indexOf('#version ') === 0) {\n glslVersion = 300; // TODO - regexp that matches actual version number\n versionLine = sourceLines[0];\n coreSource = sourceLines.slice(1).join('\\n');\n } else {\n versionLine = `#version ${glslVersion}`;\n }\n\n // Combine Module and Application Defines\n const allDefines = {};\n modules.forEach(module => {\n Object.assign(allDefines, module.getDefines());\n });\n Object.assign(allDefines, defines);\n\n // Add platform defines (use these to work around platform-specific bugs and limitations)\n // Add common defines (GLSL version compatibility, feature detection)\n // Add precision declaration for fragment shaders\n let assembledSource = prologue\n ? `\\\n${versionLine}\n${getShaderName({id, source, type})}\n${getShaderType({type})}\n${getPlatformShaderDefines(gl)}\n${getVersionDefines(gl, glslVersion, !isVertex)}\n${getApplicationDefines(allDefines)}\n${isVertex ? '' : FRAGMENT_SHADER_PROLOGUE}\n`\n : `${versionLine}\n`;\n\n const hookFunctionMap = normalizeHookFunctions(hookFunctions);\n\n // Add source of dependent modules in resolved order\n const hookInjections = {};\n const declInjections = {};\n const mainInjections = {};\n\n for (const key in inject) {\n const injection =\n typeof inject[key] === 'string' ? {injection: inject[key], order: 0} : inject[key];\n const match = key.match(/^(v|f)s:(#)?([\\w-]+)$/);\n if (match) {\n const hash = match[2];\n const name = match[3];\n if (hash) {\n if (name === 'decl') {\n declInjections[key] = [injection];\n } else {\n mainInjections[key] = [injection];\n }\n } else {\n hookInjections[key] = [injection];\n }\n } else {\n // Regex injection\n mainInjections[key] = [injection];\n }\n }\n\n for (const module of modules) {\n if (log) {\n module.checkDeprecations(coreSource, log);\n }\n const moduleSource = module.getModuleSource(type, glslVersion);\n // Add the module source, and a #define that declares it presence\n assembledSource += moduleSource;\n\n const injections = module.injections[type];\n for (const key in injections) {\n const match = key.match(/^(v|f)s:#([\\w-]+)$/);\n if (match) {\n const name = match[2];\n const injectionType = name === 'decl' ? declInjections : mainInjections;\n injectionType[key] = injectionType[key] || [];\n injectionType[key].push(injections[key]);\n } else {\n hookInjections[key] = hookInjections[key] || [];\n hookInjections[key].push(injections[key]);\n }\n }\n }\n\n // For injectShader\n assembledSource += INJECT_SHADER_DECLARATIONS;\n\n assembledSource = injectShader(assembledSource, type, declInjections);\n\n assembledSource += getHookFunctions(hookFunctionMap[type], hookInjections);\n\n // Add the version directive and actual source of this shader\n assembledSource += coreSource;\n\n // Apply any requested shader injections\n assembledSource = injectShader(assembledSource, type, mainInjections);\n\n assembledSource = transpileShader(\n assembledSource,\n transpileToGLSL100 ? 100 : glslVersion,\n isVertex\n );\n\n return assembledSource;\n}\n\n// Returns a combined `getUniforms` covering the options for all the modules,\n// the created function will pass on options to the inidividual `getUniforms`\n// function of each shader module and combine the results into one object that\n// can be passed to setUniforms.\nfunction assembleGetUniforms(modules) {\n return function getUniforms(opts) {\n const uniforms = {};\n for (const module of modules) {\n // `modules` is already sorted by dependency level. This guarantees that\n // modules have access to the uniforms that are generated by their dependencies.\n const moduleUniforms = module.getUniforms(opts, uniforms);\n Object.assign(uniforms, moduleUniforms);\n }\n return uniforms;\n };\n}\n\nfunction getShaderType({type}) {\n return `\n#define SHADER_TYPE_${SHADER_TYPE[type].toUpperCase()}\n`;\n}\n\n// Generate \"glslify-compatible\" SHADER_NAME defines\n// These are understood by the GLSL error parsing function\n// If id is provided and no SHADER_NAME constant is present in source, create one\nfunction getShaderName({id, source, type}) {\n const injectShaderName = id && typeof id === 'string' && source.indexOf('SHADER_NAME') === -1;\n return injectShaderName\n ? `\n#define SHADER_NAME ${id}_${SHADER_TYPE[type]}\n\n`\n : '';\n}\n\n// Generates application defines from an object\nfunction getApplicationDefines(defines = {}) {\n let count = 0;\n let sourceText = '';\n for (const define in defines) {\n if (count === 0) {\n sourceText += '\\n// APPLICATION DEFINES\\n';\n }\n count++;\n\n const value = defines[define];\n if (value || Number.isFinite(value)) {\n sourceText += `#define ${define.toUpperCase()} ${defines[define]}\\n`;\n }\n }\n if (count === 0) {\n sourceText += '\\n';\n }\n return sourceText;\n}\n\nfunction getHookFunctions(hookFunctions, hookInjections) {\n let result = '';\n for (const hookName in hookFunctions) {\n const hookFunction = hookFunctions[hookName];\n result += `void ${hookFunction.signature} {\\n`;\n if (hookFunction.header) {\n result += ` ${hookFunction.header}`;\n }\n if (hookInjections[hookName]) {\n const injections = hookInjections[hookName];\n injections.sort((a, b) => a.order - b.order);\n for (const injection of injections) {\n result += ` ${injection.injection}\\n`;\n }\n }\n if (hookFunction.footer) {\n result += ` ${hookFunction.footer}`;\n }\n result += '}\\n';\n }\n\n return result;\n}\n\nfunction normalizeHookFunctions(hookFunctions) {\n const result = {\n vs: {},\n fs: {}\n };\n\n hookFunctions.forEach(hook => {\n let opts;\n if (typeof hook !== 'string') {\n opts = hook;\n hook = opts.hook;\n } else {\n opts = {};\n }\n hook = hook.trim();\n const [stage, signature] = hook.split(':');\n const name = hook.replace(/\\(.+/, '');\n result[stage][name] = Object.assign(opts, {signature});\n });\n\n return result;\n}\n"],"file":"assemble-shaders.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/assemble-shaders.js"],"names":["INJECT_SHADER_DECLARATIONS","DECLARATION_INJECT_MARKER","SHADER_TYPE","VERTEX_SHADER","FRAGMENT_SHADER","FRAGMENT_SHADER_PROLOGUE","assembleShaders","gl","opts","vs","fs","modules","assembleShader","Object","assign","source","type","getUniforms","assembleGetUniforms","id","defines","hookFunctions","inject","transpileToGLSL100","prologue","log","isVertex","sourceLines","split","glslVersion","versionLine","coreSource","indexOf","slice","join","allDefines","forEach","module","getDefines","assembledSource","getShaderName","getShaderType","getApplicationDefines","hookFunctionMap","normalizeHookFunctions","hookInjections","declInjections","mainInjections","key","injection","order","match","hash","name","checkDeprecations","moduleSource","getModuleSource","injections","injectionType","push","getHookFunctions","uniforms","moduleUniforms","toUpperCase","injectShaderName","count","sourceText","define","value","Number","isFinite","result","hookName","hookFunction","signature","header","sort","a","b","footer","hook","trim","stage","replace"],"mappings":"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","sourcesContent":["import {VERTEX_SHADER, FRAGMENT_SHADER} from './constants';\nimport {resolveModules} from './resolve-modules';\nimport {getPlatformShaderDefines, getVersionDefines} from './platform-defines';\nimport injectShader, {DECLARATION_INJECT_MARKER} from './inject-shader';\nimport transpileShader from './transpile-shader';\nimport {assert} from '../utils';\n\nconst INJECT_SHADER_DECLARATIONS = `\\n\\n${DECLARATION_INJECT_MARKER}\\n\\n`;\n\nconst SHADER_TYPE = {\n [VERTEX_SHADER]: 'vertex',\n [FRAGMENT_SHADER]: 'fragment'\n};\n\n// Precision prologue to inject before functions are injected in shader\n// TODO - extract any existing prologue in the fragment source and move it up...\nconst FRAGMENT_SHADER_PROLOGUE = `\\\nprecision highp float;\n\n`;\n\n// Inject a list of modules\nexport function assembleShaders(gl, opts) {\n const {vs, fs} = opts;\n const modules = resolveModules(opts.modules || []);\n return {\n gl,\n vs: assembleShader(gl, Object.assign({}, opts, {source: vs, type: VERTEX_SHADER, modules})),\n fs: assembleShader(gl, Object.assign({}, opts, {source: fs, type: FRAGMENT_SHADER, modules})),\n getUniforms: assembleGetUniforms(modules)\n };\n}\n\n// Pulls together complete source code for either a vertex or a fragment shader\n// adding prologues, requested module chunks, and any final injections.\nfunction assembleShader(\n gl,\n {\n id,\n source,\n type,\n modules,\n defines = {},\n hookFunctions = [],\n inject = {},\n transpileToGLSL100 = false,\n prologue = true,\n log\n }\n) {\n assert(typeof source === 'string', 'shader source must be a string');\n\n const isVertex = type === VERTEX_SHADER;\n\n const sourceLines = source.split('\\n');\n let glslVersion = 100;\n let versionLine = '';\n let coreSource = source;\n // Extract any version directive string from source.\n // TODO : keep all pre-processor statements at the begining of the shader.\n if (sourceLines[0].indexOf('#version ') === 0) {\n glslVersion = 300; // TODO - regexp that matches actual version number\n versionLine = sourceLines[0];\n coreSource = sourceLines.slice(1).join('\\n');\n } else {\n versionLine = `#version ${glslVersion}`;\n }\n\n // Combine Module and Application Defines\n const allDefines = {};\n modules.forEach(module => {\n Object.assign(allDefines, module.getDefines());\n });\n Object.assign(allDefines, defines);\n\n // Add platform defines (use these to work around platform-specific bugs and limitations)\n // Add common defines (GLSL version compatibility, feature detection)\n // Add precision declaration for fragment shaders\n let assembledSource = prologue\n ? `\\\n${versionLine}\n${getShaderName({id, source, type})}\n${getShaderType({type})}\n${getPlatformShaderDefines(gl)}\n${getVersionDefines(gl, glslVersion, !isVertex)}\n${getApplicationDefines(allDefines)}\n${isVertex ? '' : FRAGMENT_SHADER_PROLOGUE}\n`\n : `${versionLine}\n`;\n\n const hookFunctionMap = normalizeHookFunctions(hookFunctions);\n\n // Add source of dependent modules in resolved order\n const hookInjections = {};\n const declInjections = {};\n const mainInjections = {};\n\n for (const key in inject) {\n const injection =\n typeof inject[key] === 'string' ? {injection: inject[key], order: 0} : inject[key];\n const match = key.match(/^(v|f)s:(#)?([\\w-]+)$/);\n if (match) {\n const hash = match[2];\n const name = match[3];\n if (hash) {\n if (name === 'decl') {\n declInjections[key] = [injection];\n } else {\n mainInjections[key] = [injection];\n }\n } else {\n hookInjections[key] = [injection];\n }\n } else {\n // Regex injection\n mainInjections[key] = [injection];\n }\n }\n\n for (const module of modules) {\n if (log) {\n module.checkDeprecations(coreSource, log);\n }\n const moduleSource = module.getModuleSource(type, glslVersion);\n // Add the module source, and a #define that declares it presence\n assembledSource += moduleSource;\n\n const injections = module.injections[type];\n for (const key in injections) {\n const match = key.match(/^(v|f)s:#([\\w-]+)$/);\n if (match) {\n const name = match[2];\n const injectionType = name === 'decl' ? declInjections : mainInjections;\n injectionType[key] = injectionType[key] || [];\n injectionType[key].push(injections[key]);\n } else {\n hookInjections[key] = hookInjections[key] || [];\n hookInjections[key].push(injections[key]);\n }\n }\n }\n\n // For injectShader\n assembledSource += INJECT_SHADER_DECLARATIONS;\n\n assembledSource = injectShader(assembledSource, type, declInjections);\n\n assembledSource += getHookFunctions(hookFunctionMap[type], hookInjections);\n\n // Add the version directive and actual source of this shader\n assembledSource += coreSource;\n\n // Apply any requested shader injections\n assembledSource = injectShader(assembledSource, type, mainInjections);\n\n assembledSource = transpileShader(\n assembledSource,\n transpileToGLSL100 ? 100 : glslVersion,\n isVertex\n );\n\n return assembledSource;\n}\n\n// Returns a combined `getUniforms` covering the options for all the modules,\n// the created function will pass on options to the inidividual `getUniforms`\n// function of each shader module and combine the results into one object that\n// can be passed to setUniforms.\nfunction assembleGetUniforms(modules) {\n return function getUniforms(opts) {\n const uniforms = {};\n for (const module of modules) {\n // `modules` is already sorted by dependency level. This guarantees that\n // modules have access to the uniforms that are generated by their dependencies.\n const moduleUniforms = module.getUniforms(opts, uniforms);\n Object.assign(uniforms, moduleUniforms);\n }\n return uniforms;\n };\n}\n\nfunction getShaderType({type}) {\n return `\n#define SHADER_TYPE_${SHADER_TYPE[type].toUpperCase()}\n`;\n}\n\n// Generate \"glslify-compatible\" SHADER_NAME defines\n// These are understood by the GLSL error parsing function\n// If id is provided and no SHADER_NAME constant is present in source, create one\nfunction getShaderName({id, source, type}) {\n const injectShaderName = id && typeof id === 'string' && source.indexOf('SHADER_NAME') === -1;\n return injectShaderName\n ? `\n#define SHADER_NAME ${id}_${SHADER_TYPE[type]}\n\n`\n : '';\n}\n\n// Generates application defines from an object\nfunction getApplicationDefines(defines = {}) {\n let count = 0;\n let sourceText = '';\n for (const define in defines) {\n if (count === 0) {\n sourceText += '\\n// APPLICATION DEFINES\\n';\n }\n count++;\n\n const value = defines[define];\n if (value || Number.isFinite(value)) {\n sourceText += `#define ${define.toUpperCase()} ${defines[define]}\\n`;\n }\n }\n if (count === 0) {\n sourceText += '\\n';\n }\n return sourceText;\n}\n\nfunction getHookFunctions(hookFunctions, hookInjections) {\n let result = '';\n for (const hookName in hookFunctions) {\n const hookFunction = hookFunctions[hookName];\n result += `void ${hookFunction.signature} {\\n`;\n if (hookFunction.header) {\n result += ` ${hookFunction.header}`;\n }\n if (hookInjections[hookName]) {\n const injections = hookInjections[hookName];\n injections.sort((a, b) => a.order - b.order);\n for (const injection of injections) {\n result += ` ${injection.injection}\\n`;\n }\n }\n if (hookFunction.footer) {\n result += ` ${hookFunction.footer}`;\n }\n result += '}\\n';\n }\n\n return result;\n}\n\nfunction normalizeHookFunctions(hookFunctions) {\n const result = {\n vs: {},\n fs: {}\n };\n\n hookFunctions.forEach(hook => {\n let opts;\n if (typeof hook !== 'string') {\n opts = hook;\n hook = opts.hook;\n } else {\n opts = {};\n }\n hook = hook.trim();\n const [stage, signature] = hook.split(':');\n const name = hook.replace(/\\(.+/, '');\n result[stage][name] = Object.assign(opts, {signature});\n });\n\n return result;\n}\n"],"file":"assemble-shaders.js"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.VERTEX_SHADER = exports.FRAGMENT_SHADER = void 0;
|
|
7
7
|
var VERTEX_SHADER = 'vs';
|
|
8
8
|
exports.VERTEX_SHADER = VERTEX_SHADER;
|
|
9
9
|
var FRAGMENT_SHADER = 'fs';
|
|
@@ -5,9 +5,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.default = injectShader;
|
|
9
|
-
exports.combineInjects = combineInjects;
|
|
10
8
|
exports.DECLARATION_INJECT_MARKER = void 0;
|
|
9
|
+
exports.combineInjects = combineInjects;
|
|
10
|
+
exports.default = injectShader;
|
|
11
11
|
|
|
12
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
13
|
|
|
@@ -5,14 +5,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.resolveModules = resolveModules;
|
|
9
8
|
exports.TEST_EXPORTS = void 0;
|
|
9
|
+
exports.resolveModules = resolveModules;
|
|
10
10
|
|
|
11
11
|
var _shaderModule = _interopRequireDefault(require("./shader-module"));
|
|
12
12
|
|
|
13
13
|
var _utils = require("../utils");
|
|
14
14
|
|
|
15
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it
|
|
15
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
16
16
|
|
|
17
17
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
18
18
|
|
|
@@ -5,8 +5,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.normalizeShaderModule = normalizeShaderModule;
|
|
9
8
|
exports.default = void 0;
|
|
9
|
+
exports.normalizeShaderModule = normalizeShaderModule;
|
|
10
10
|
|
|
11
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
12
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/shader-module.js"],"names":["VERTEX_SHADER","FRAGMENT_SHADER","ShaderModule","name","vs","fs","dependencies","uniforms","getUniforms","deprecations","defines","inject","vertexShader","fragmentShader","getModuleUniforms","_parseDeprecationDefinitions","injections","normalizeInjections","type","moduleSource","toUpperCase","replace","opts","_defaultGetUniforms","shaderSource","log","forEach","def","regex","test","deprecated","old","new","removed","RegExp","propTypes","key","propDef","private","validate","value","normalizeShaderModule","module","normalized","shaderModule","bind","result","hook","injection","stage","slice","order"],"mappings":";;;;;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,aAAa,GAAG,IAAtB;AACA,IAAMC,eAAe,GAAG,IAAxB;;IAEqBC,Y;AACnB,8BAaG;AAAA,QAZDC,IAYC,QAZDA,IAYC;AAAA,QAXDC,EAWC,QAXDA,EAWC;AAAA,QAVDC,EAUC,QAVDA,EAUC;AAAA,iCATDC,YASC;AAAA,QATDA,YASC,kCATc,EASd;AAAA,QARDC,QAQC,QARDA,QAQC;AAAA,QAPDC,WAOC,QAPDA,WAOC;AAAA,iCANDC,YAMC;AAAA,QANDA,YAMC,kCANc,EAMd;AAAA,4BALDC,OAKC;AAAA,QALDA,OAKC,6BALS,EAKT;AAAA,2BAJDC,MAIC;AAAA,QAJDA,MAIC,4BAJQ,EAIR;AAAA,QAFDC,YAEC,QAFDA,YAEC;AAAA,QADDC,cACC,QADDA,cACC;AAAA;AACD,uBAAO,OAAOV,IAAP,KAAgB,QAAvB;AACA,SAAKA,IAAL,GAAYA,IAAZ;AACA,SAAKC,EAAL,GAAUA,EAAE,IAAIQ,YAAhB;AACA,SAAKP,EAAL,GAAUA,EAAE,IAAIQ,cAAhB;AACA,SAAKC,iBAAL,GAAyBN,WAAzB;AACA,SAAKF,YAAL,GAAoBA,YAApB;AACA,SAAKG,YAAL,GAAoB,KAAKM,4BAAL,CAAkCN,YAAlC,CAApB;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKM,UAAL,GAAkBC,mBAAmB,CAACN,MAAD,CAArC;;AAEA,QAAIJ,QAAJ,EAAc;AACZ,WAAKA,QAAL,GAAgB,+BAAeA,QAAf,CAAhB;AACD;AACF;;;;
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/shader-module.js"],"names":["VERTEX_SHADER","FRAGMENT_SHADER","ShaderModule","name","vs","fs","dependencies","uniforms","getUniforms","deprecations","defines","inject","vertexShader","fragmentShader","getModuleUniforms","_parseDeprecationDefinitions","injections","normalizeInjections","type","moduleSource","toUpperCase","replace","opts","_defaultGetUniforms","shaderSource","log","forEach","def","regex","test","deprecated","old","new","removed","RegExp","propTypes","key","propDef","private","validate","value","normalizeShaderModule","module","normalized","shaderModule","bind","result","hook","injection","stage","slice","order"],"mappings":"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","sourcesContent":["import {assert} from '../utils';\nimport {parsePropTypes} from './filters/prop-types';\n\nconst VERTEX_SHADER = 'vs';\nconst FRAGMENT_SHADER = 'fs';\n\nexport default class ShaderModule {\n constructor({\n name,\n vs,\n fs,\n dependencies = [],\n uniforms,\n getUniforms,\n deprecations = [],\n defines = {},\n inject = {},\n // DEPRECATED\n vertexShader,\n fragmentShader\n }) {\n assert(typeof name === 'string');\n this.name = name;\n this.vs = vs || vertexShader;\n this.fs = fs || fragmentShader;\n this.getModuleUniforms = getUniforms;\n this.dependencies = dependencies;\n this.deprecations = this._parseDeprecationDefinitions(deprecations);\n this.defines = defines;\n this.injections = normalizeInjections(inject);\n\n if (uniforms) {\n this.uniforms = parsePropTypes(uniforms);\n }\n }\n\n // Extracts the source code chunk for the specified shader type from the named shader module\n getModuleSource(type) {\n let moduleSource;\n switch (type) {\n case VERTEX_SHADER:\n moduleSource = this.vs || '';\n break;\n case FRAGMENT_SHADER:\n moduleSource = this.fs || '';\n break;\n default:\n assert(false);\n }\n\n return `\\\n#define MODULE_${this.name.toUpperCase().replace(/[^0-9a-z]/gi, '_')}\n${moduleSource}\\\n// END MODULE_${this.name}\n\n`;\n }\n\n getUniforms(opts, uniforms) {\n if (this.getModuleUniforms) {\n return this.getModuleUniforms(opts, uniforms);\n }\n // Build uniforms from the uniforms array\n if (this.uniforms) {\n return this._defaultGetUniforms(opts);\n }\n return {};\n }\n\n getDefines() {\n return this.defines;\n }\n\n // Warn about deprecated uniforms or functions\n checkDeprecations(shaderSource, log) {\n this.deprecations.forEach(def => {\n if (def.regex.test(shaderSource)) {\n if (def.deprecated) {\n log.deprecated(def.old, def.new)();\n } else {\n log.removed(def.old, def.new)();\n }\n }\n });\n }\n\n _parseDeprecationDefinitions(deprecations) {\n deprecations.forEach(def => {\n switch (def.type) {\n case 'function':\n def.regex = new RegExp(`\\\\b${def.old}\\\\(`);\n break;\n default:\n def.regex = new RegExp(`${def.type} ${def.old};`);\n }\n });\n\n return deprecations;\n }\n\n _defaultGetUniforms(opts = {}) {\n const uniforms = {};\n const propTypes = this.uniforms;\n\n for (const key in propTypes) {\n const propDef = propTypes[key];\n if (key in opts && !propDef.private) {\n if (propDef.validate) {\n assert(propDef.validate(opts[key], propDef), `${this.name}: invalid ${key}`);\n }\n uniforms[key] = opts[key];\n } else {\n uniforms[key] = propDef.value;\n }\n }\n\n return uniforms;\n }\n}\n\n// This utility mutates the original module\n// Keeping for backward compatibility\n// TODO - remove in v8\nexport function normalizeShaderModule(module) {\n if (!module.normalized) {\n module.normalized = true;\n if (module.uniforms && !module.getUniforms) {\n const shaderModule = new ShaderModule(module);\n module.getUniforms = shaderModule.getUniforms.bind(shaderModule);\n }\n }\n return module;\n}\n\nfunction normalizeInjections(injections) {\n const result = {\n vs: {},\n fs: {}\n };\n\n for (const hook in injections) {\n let injection = injections[hook];\n const stage = hook.slice(0, 2);\n\n if (typeof injection === 'string') {\n injection = {\n order: 0,\n injection\n };\n }\n\n result[stage][hook] = injection;\n }\n\n return result;\n}\n"],"file":"shader-module.js"}
|
|
@@ -9,7 +9,7 @@ exports.default = transpileShader;
|
|
|
9
9
|
|
|
10
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
11
|
|
|
12
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it
|
|
12
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
13
13
|
|
|
14
14
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
15
15
|
|
|
@@ -5,16 +5,18 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
|
|
8
|
+
exports.fp64 = void 0;
|
|
9
|
+
Object.defineProperty(exports, "fp64LowPart", {
|
|
9
10
|
enumerable: true,
|
|
10
11
|
get: function get() {
|
|
11
|
-
return _fp64Utils.
|
|
12
|
+
return _fp64Utils.fp64LowPart;
|
|
12
13
|
}
|
|
13
14
|
});
|
|
14
|
-
|
|
15
|
+
exports.fp64arithmetic = void 0;
|
|
16
|
+
Object.defineProperty(exports, "fp64ify", {
|
|
15
17
|
enumerable: true,
|
|
16
18
|
get: function get() {
|
|
17
|
-
return _fp64Utils.
|
|
19
|
+
return _fp64Utils.fp64ify;
|
|
18
20
|
}
|
|
19
21
|
});
|
|
20
22
|
Object.defineProperty(exports, "fp64ifyMatrix4", {
|
|
@@ -23,7 +25,6 @@ Object.defineProperty(exports, "fp64ifyMatrix4", {
|
|
|
23
25
|
return _fp64Utils.fp64ifyMatrix4;
|
|
24
26
|
}
|
|
25
27
|
});
|
|
26
|
-
exports.fp64 = exports.fp64arithmetic = void 0;
|
|
27
28
|
|
|
28
29
|
var _fp64Utils = require("./fp64-utils");
|
|
29
30
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/modules/fp64/fp64.js"],"names":["CONST_UNIFORMS","ONE","getUniforms","fp64arithmetic","name","vs","fp64arithmeticShader","fs","fp64ify","fp64LowPart","fp64ifyMatrix4","fp64","fp64functionShader","dependencies"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/modules/fp64/fp64.js"],"names":["CONST_UNIFORMS","ONE","getUniforms","fp64arithmetic","name","vs","fp64arithmeticShader","fs","fp64ify","fp64LowPart","fp64ifyMatrix4","fp64","fp64functionShader","dependencies"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AAEA;;AACA;;AAEA,IAAMA,cAAc,GAAG;AAErBC,EAAAA,GAAG,EAAE;AAFgB,CAAvB;;AAMA,SAASC,WAAT,GAAuB;AACrB,SAAOF,cAAP;AACD;;AAGM,IAAMG,cAAc,GAAG;AAC5BC,EAAAA,IAAI,EAAE,iBADsB;AAE5BC,EAAAA,EAAE,EAAEC,uBAFwB;AAG5BC,EAAAA,EAAE,EAAE,IAHwB;AAI5BL,EAAAA,WAAW,EAAXA,WAJ4B;AAK5BM,EAAAA,OAAO,EAAPA,kBAL4B;AAM5BC,EAAAA,WAAW,EAAXA,sBAN4B;AAO5BC,EAAAA,cAAc,EAAdA;AAP4B,CAAvB;;AAWA,IAAMC,IAAI,GAAG;AAClBP,EAAAA,IAAI,EAAE,MADY;AAElBC,EAAAA,EAAE,EAAEO,sBAFc;AAGlBL,EAAAA,EAAE,EAAE,IAHc;AAIlBM,EAAAA,YAAY,EAAE,CAACV,cAAD,CAJI;AAKlBK,EAAAA,OAAO,EAAPA,kBALkB;AAMlBC,EAAAA,WAAW,EAAXA,sBANkB;AAOlBC,EAAAA,cAAc,EAAdA;AAPkB,CAAb","sourcesContent":["/** @typedef {import('../../types').ShaderModule} ShaderModule */\n\nimport {fp64ify, fp64LowPart, fp64ifyMatrix4} from './fp64-utils';\n\nimport fp64arithmeticShader from './fp64-arithmetic.glsl';\nimport fp64functionShader from './fp64-functions.glsl';\n\nconst CONST_UNIFORMS = {\n // Used in LUMA_FP64_CODE_ELIMINATION_WORKAROUND\n ONE: 1.0\n};\nexport {fp64ify, fp64LowPart, fp64ifyMatrix4};\n\nfunction getUniforms() {\n return CONST_UNIFORMS;\n}\n\n// Arithmetic only\nexport const fp64arithmetic = {\n name: 'fp64-arithmetic',\n vs: fp64arithmeticShader,\n fs: null,\n getUniforms,\n fp64ify,\n fp64LowPart,\n fp64ifyMatrix4\n};\n\n// Full fp64 shader\nexport const fp64 = {\n name: 'fp64',\n vs: fp64functionShader,\n fs: null,\n dependencies: [fp64arithmetic],\n fp64ify,\n fp64LowPart,\n fp64ifyMatrix4\n};\n"],"file":"fp64.js"}
|
|
@@ -3,40 +3,40 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
Object.defineProperty(exports, "
|
|
6
|
+
Object.defineProperty(exports, "_transform", {
|
|
7
7
|
enumerable: true,
|
|
8
8
|
get: function get() {
|
|
9
|
-
return
|
|
9
|
+
return _transform.transform;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
-
Object.defineProperty(exports, "
|
|
12
|
+
Object.defineProperty(exports, "_warp", {
|
|
13
13
|
enumerable: true,
|
|
14
14
|
get: function get() {
|
|
15
|
-
return
|
|
15
|
+
return _warp.warp;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
-
Object.defineProperty(exports, "
|
|
18
|
+
Object.defineProperty(exports, "brightnessContrast", {
|
|
19
19
|
enumerable: true,
|
|
20
20
|
get: function get() {
|
|
21
|
-
return
|
|
21
|
+
return _brightnesscontrast.brightnessContrast;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
-
Object.defineProperty(exports, "
|
|
24
|
+
Object.defineProperty(exports, "bulgePinch", {
|
|
25
25
|
enumerable: true,
|
|
26
26
|
get: function get() {
|
|
27
|
-
return
|
|
27
|
+
return _bulgepinch.bulgePinch;
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
|
-
Object.defineProperty(exports, "
|
|
30
|
+
Object.defineProperty(exports, "colorHalftone", {
|
|
31
31
|
enumerable: true,
|
|
32
32
|
get: function get() {
|
|
33
|
-
return
|
|
33
|
+
return _colorhalftone.colorHalftone;
|
|
34
34
|
}
|
|
35
35
|
});
|
|
36
|
-
Object.defineProperty(exports, "
|
|
36
|
+
Object.defineProperty(exports, "denoise", {
|
|
37
37
|
enumerable: true,
|
|
38
38
|
get: function get() {
|
|
39
|
-
return
|
|
39
|
+
return _denoise.denoise;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
42
|
Object.defineProperty(exports, "dirlight", {
|
|
@@ -45,154 +45,154 @@ Object.defineProperty(exports, "dirlight", {
|
|
|
45
45
|
return _dirlight.dirlight;
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
|
-
Object.defineProperty(exports, "
|
|
48
|
+
Object.defineProperty(exports, "dotScreen", {
|
|
49
49
|
enumerable: true,
|
|
50
50
|
get: function get() {
|
|
51
|
-
return
|
|
51
|
+
return _dotscreen.dotScreen;
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
|
-
Object.defineProperty(exports, "
|
|
54
|
+
Object.defineProperty(exports, "edgeWork", {
|
|
55
55
|
enumerable: true,
|
|
56
56
|
get: function get() {
|
|
57
|
-
return
|
|
57
|
+
return _edgework.edgeWork;
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
|
-
Object.defineProperty(exports, "
|
|
60
|
+
Object.defineProperty(exports, "fp32", {
|
|
61
61
|
enumerable: true,
|
|
62
62
|
get: function get() {
|
|
63
|
-
return
|
|
63
|
+
return _fp.fp32;
|
|
64
64
|
}
|
|
65
65
|
});
|
|
66
|
-
Object.defineProperty(exports, "
|
|
66
|
+
Object.defineProperty(exports, "fp64", {
|
|
67
67
|
enumerable: true,
|
|
68
68
|
get: function get() {
|
|
69
|
-
return
|
|
69
|
+
return _fp2.fp64;
|
|
70
70
|
}
|
|
71
71
|
});
|
|
72
|
-
Object.defineProperty(exports, "
|
|
72
|
+
Object.defineProperty(exports, "fp64arithmetic", {
|
|
73
73
|
enumerable: true,
|
|
74
74
|
get: function get() {
|
|
75
|
-
return
|
|
75
|
+
return _fp2.fp64arithmetic;
|
|
76
76
|
}
|
|
77
77
|
});
|
|
78
|
-
Object.defineProperty(exports, "
|
|
78
|
+
Object.defineProperty(exports, "fxaa", {
|
|
79
79
|
enumerable: true,
|
|
80
80
|
get: function get() {
|
|
81
|
-
return
|
|
81
|
+
return _fxaa.fxaa;
|
|
82
82
|
}
|
|
83
83
|
});
|
|
84
|
-
Object.defineProperty(exports, "
|
|
84
|
+
Object.defineProperty(exports, "gouraudLighting", {
|
|
85
85
|
enumerable: true,
|
|
86
86
|
get: function get() {
|
|
87
|
-
return
|
|
87
|
+
return _phongLighting.gouraudLighting;
|
|
88
88
|
}
|
|
89
89
|
});
|
|
90
|
-
Object.defineProperty(exports, "
|
|
90
|
+
Object.defineProperty(exports, "hexagonalPixelate", {
|
|
91
91
|
enumerable: true,
|
|
92
92
|
get: function get() {
|
|
93
|
-
return
|
|
93
|
+
return _hexagonalpixelate.hexagonalPixelate;
|
|
94
94
|
}
|
|
95
95
|
});
|
|
96
|
-
Object.defineProperty(exports, "
|
|
96
|
+
Object.defineProperty(exports, "hueSaturation", {
|
|
97
97
|
enumerable: true,
|
|
98
98
|
get: function get() {
|
|
99
|
-
return
|
|
99
|
+
return _huesaturation.hueSaturation;
|
|
100
100
|
}
|
|
101
101
|
});
|
|
102
|
-
Object.defineProperty(exports, "
|
|
102
|
+
Object.defineProperty(exports, "ink", {
|
|
103
103
|
enumerable: true,
|
|
104
104
|
get: function get() {
|
|
105
|
-
return
|
|
105
|
+
return _ink.ink;
|
|
106
106
|
}
|
|
107
107
|
});
|
|
108
|
-
Object.defineProperty(exports, "
|
|
108
|
+
Object.defineProperty(exports, "lights", {
|
|
109
109
|
enumerable: true,
|
|
110
110
|
get: function get() {
|
|
111
|
-
return
|
|
111
|
+
return _lights.lights;
|
|
112
112
|
}
|
|
113
113
|
});
|
|
114
|
-
Object.defineProperty(exports, "
|
|
114
|
+
Object.defineProperty(exports, "magnify", {
|
|
115
115
|
enumerable: true,
|
|
116
116
|
get: function get() {
|
|
117
|
-
return
|
|
117
|
+
return _magnify.magnify;
|
|
118
118
|
}
|
|
119
119
|
});
|
|
120
|
-
Object.defineProperty(exports, "
|
|
120
|
+
Object.defineProperty(exports, "noise", {
|
|
121
121
|
enumerable: true,
|
|
122
122
|
get: function get() {
|
|
123
|
-
return
|
|
123
|
+
return _noise.noise;
|
|
124
124
|
}
|
|
125
125
|
});
|
|
126
|
-
Object.defineProperty(exports, "
|
|
126
|
+
Object.defineProperty(exports, "pbr", {
|
|
127
127
|
enumerable: true,
|
|
128
128
|
get: function get() {
|
|
129
|
-
return
|
|
129
|
+
return _pbr.pbr;
|
|
130
130
|
}
|
|
131
131
|
});
|
|
132
|
-
Object.defineProperty(exports, "
|
|
132
|
+
Object.defineProperty(exports, "phongLighting", {
|
|
133
133
|
enumerable: true,
|
|
134
134
|
get: function get() {
|
|
135
|
-
return
|
|
135
|
+
return _phongLighting.phongLighting;
|
|
136
136
|
}
|
|
137
137
|
});
|
|
138
|
-
Object.defineProperty(exports, "
|
|
138
|
+
Object.defineProperty(exports, "picking", {
|
|
139
139
|
enumerable: true,
|
|
140
140
|
get: function get() {
|
|
141
|
-
return
|
|
141
|
+
return _picking.picking;
|
|
142
142
|
}
|
|
143
143
|
});
|
|
144
|
-
Object.defineProperty(exports, "
|
|
144
|
+
Object.defineProperty(exports, "project", {
|
|
145
145
|
enumerable: true,
|
|
146
146
|
get: function get() {
|
|
147
|
-
return
|
|
147
|
+
return _project.project;
|
|
148
148
|
}
|
|
149
149
|
});
|
|
150
|
-
Object.defineProperty(exports, "
|
|
150
|
+
Object.defineProperty(exports, "random", {
|
|
151
151
|
enumerable: true,
|
|
152
152
|
get: function get() {
|
|
153
|
-
return
|
|
153
|
+
return _random.random;
|
|
154
154
|
}
|
|
155
155
|
});
|
|
156
|
-
Object.defineProperty(exports, "
|
|
156
|
+
Object.defineProperty(exports, "sepia", {
|
|
157
157
|
enumerable: true,
|
|
158
158
|
get: function get() {
|
|
159
|
-
return
|
|
159
|
+
return _sepia.sepia;
|
|
160
160
|
}
|
|
161
161
|
});
|
|
162
|
-
Object.defineProperty(exports, "
|
|
162
|
+
Object.defineProperty(exports, "swirl", {
|
|
163
163
|
enumerable: true,
|
|
164
164
|
get: function get() {
|
|
165
|
-
return
|
|
165
|
+
return _swirl.swirl;
|
|
166
166
|
}
|
|
167
167
|
});
|
|
168
|
-
Object.defineProperty(exports, "
|
|
168
|
+
Object.defineProperty(exports, "tiltShift", {
|
|
169
169
|
enumerable: true,
|
|
170
170
|
get: function get() {
|
|
171
|
-
return
|
|
171
|
+
return _tiltshift.tiltShift;
|
|
172
172
|
}
|
|
173
173
|
});
|
|
174
|
-
Object.defineProperty(exports, "
|
|
174
|
+
Object.defineProperty(exports, "triangleBlur", {
|
|
175
175
|
enumerable: true,
|
|
176
176
|
get: function get() {
|
|
177
|
-
return
|
|
177
|
+
return _triangleblur.triangleBlur;
|
|
178
178
|
}
|
|
179
179
|
});
|
|
180
|
-
Object.defineProperty(exports, "
|
|
180
|
+
Object.defineProperty(exports, "vibrance", {
|
|
181
181
|
enumerable: true,
|
|
182
182
|
get: function get() {
|
|
183
|
-
return
|
|
183
|
+
return _vibrance.vibrance;
|
|
184
184
|
}
|
|
185
185
|
});
|
|
186
|
-
Object.defineProperty(exports, "
|
|
186
|
+
Object.defineProperty(exports, "vignette", {
|
|
187
187
|
enumerable: true,
|
|
188
188
|
get: function get() {
|
|
189
|
-
return
|
|
189
|
+
return _vignette.vignette;
|
|
190
190
|
}
|
|
191
191
|
});
|
|
192
|
-
Object.defineProperty(exports, "
|
|
192
|
+
Object.defineProperty(exports, "zoomBlur", {
|
|
193
193
|
enumerable: true,
|
|
194
194
|
get: function get() {
|
|
195
|
-
return
|
|
195
|
+
return _zoomblur.zoomBlur;
|
|
196
196
|
}
|
|
197
197
|
});
|
|
198
198
|
|
|
@@ -9,7 +9,7 @@ exports.lights = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _lights = _interopRequireDefault(require("./lights.glsl"));
|
|
11
11
|
|
|
12
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it
|
|
12
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
13
13
|
|
|
14
14
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
15
15
|
|