@luma.gl/engine 8.5.8 → 8.6.0-alpha.2
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/animation/key-frames.d.ts +18 -0
- package/dist/animation/key-frames.d.ts.map +1 -0
- package/dist/{esm/animation → animation}/key-frames.js +13 -6
- package/dist/animation/key-frames.js.map +1 -0
- package/dist/animation/timeline.d.ts +51 -0
- package/dist/animation/timeline.d.ts.map +1 -0
- package/dist/{esm/animation → animation}/timeline.js +10 -5
- package/dist/animation/timeline.js.map +1 -0
- package/dist/bundle.d.ts +2 -0
- package/dist/bundle.d.ts.map +1 -0
- package/dist/bundle.js +5 -0
- package/dist/bundle.js.map +1 -0
- package/dist/geometries/cone-geometry.d.ts +10 -0
- package/dist/geometries/cone-geometry.d.ts.map +1 -0
- package/dist/{esm/geometries → geometries}/cone-geometry.js +2 -2
- package/dist/geometries/cone-geometry.js.map +1 -0
- package/dist/geometries/cube-geometry.d.ts +9 -0
- package/dist/geometries/cube-geometry.d.ts.map +1 -0
- package/dist/{esm/geometries → geometries}/cube-geometry.js +18 -18
- package/dist/geometries/cube-geometry.js.map +1 -0
- package/dist/geometries/cylinder-geometry.d.ts +10 -0
- package/dist/geometries/cylinder-geometry.d.ts.map +1 -0
- package/dist/{esm/geometries → geometries}/cylinder-geometry.js +2 -2
- package/dist/geometries/cylinder-geometry.js.map +1 -0
- package/dist/geometries/ico-sphere-geometry.d.ts +11 -0
- package/dist/geometries/ico-sphere-geometry.d.ts.map +1 -0
- package/dist/{esm/geometries → geometries}/ico-sphere-geometry.js +2 -2
- package/dist/geometries/ico-sphere-geometry.js.map +1 -0
- package/dist/geometries/plane-geometry.d.ts +10 -0
- package/dist/geometries/plane-geometry.d.ts.map +1 -0
- package/dist/{esm/geometries → geometries}/plane-geometry.js +5 -5
- package/dist/geometries/plane-geometry.js.map +1 -0
- package/dist/geometries/sphere-geometry.d.ts +12 -0
- package/dist/geometries/sphere-geometry.d.ts.map +1 -0
- package/dist/{esm/geometries → geometries}/sphere-geometry.js +2 -9
- package/dist/geometries/sphere-geometry.js.map +1 -0
- package/dist/geometries/truncated-cone-geometry.d.ts +13 -0
- package/dist/geometries/truncated-cone-geometry.d.ts.map +1 -0
- package/dist/{esm/geometries → geometries}/truncated-cone-geometry.js +1 -1
- package/dist/geometries/truncated-cone-geometry.js.map +1 -0
- package/dist/geometry/geometry-utils.d.ts +2 -0
- package/dist/geometry/geometry-utils.d.ts.map +1 -0
- package/dist/{esm/geometry → geometry}/geometry-utils.js +0 -0
- package/dist/geometry/geometry-utils.js.map +1 -0
- package/dist/geometry/geometry.d.ts +44 -0
- package/dist/geometry/geometry.d.ts.map +1 -0
- package/dist/{esm/geometry → geometry}/geometry.js +28 -19
- package/dist/geometry/geometry.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/animation-loop.d.ts +149 -0
- package/dist/lib/animation-loop.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/animation-loop.js +190 -143
- package/dist/lib/animation-loop.js.map +1 -0
- package/dist/lib/model-utils.d.ts +4 -0
- package/dist/lib/model-utils.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/model-utils.js +3 -2
- package/dist/lib/model-utils.js.map +1 -0
- package/dist/lib/model.d.ts +109 -0
- package/dist/lib/model.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/model.js +76 -20
- package/dist/lib/model.js.map +1 -0
- package/dist/lib/program-manager.d.ts +39 -0
- package/dist/lib/program-manager.d.ts.map +1 -0
- package/dist/{esm/lib → lib}/program-manager.js +29 -18
- package/dist/lib/program-manager.js.map +1 -0
- package/dist/lib/render-loop.d.ts +27 -0
- package/dist/lib/render-loop.d.ts.map +1 -0
- package/dist/lib/render-loop.js +56 -0
- package/dist/lib/render-loop.js.map +1 -0
- package/dist/transform/buffer-transform.d.ts +36 -0
- package/dist/transform/buffer-transform.d.ts.map +1 -0
- package/dist/{esm/transform → transform}/buffer-transform.js +15 -8
- package/dist/transform/buffer-transform.js.map +1 -0
- package/dist/transform/texture-transform.d.ts +57 -0
- package/dist/transform/texture-transform.d.ts.map +1 -0
- package/dist/{esm/transform → transform}/texture-transform.js +48 -16
- package/dist/transform/texture-transform.js.map +1 -0
- package/dist/transform/transform-shader-utils.d.ts +26 -0
- package/dist/transform/transform-shader-utils.d.ts.map +1 -0
- package/dist/{esm/transform → transform}/transform-shader-utils.js +38 -46
- package/dist/transform/transform-shader-utils.js.map +1 -0
- package/dist/transform/transform-types.d.ts +44 -0
- package/dist/transform/transform-types.d.ts.map +1 -0
- package/dist/transform/transform-types.js +2 -0
- package/dist/transform/transform-types.js.map +1 -0
- package/dist/transform/transform.d.ts +47 -0
- package/dist/transform/transform.d.ts.map +1 -0
- package/dist/{esm/transform → transform}/transform.js +63 -43
- package/dist/transform/transform.js.map +1 -0
- package/dist/utils/clip-space.d.ts +5 -0
- package/dist/utils/clip-space.d.ts.map +1 -0
- package/dist/{esm/utils → utils}/clip-space.js +3 -17
- package/dist/utils/clip-space.js.map +1 -0
- package/package.json +11 -11
- package/src/animation/{key-frames.js → key-frames.ts} +18 -16
- package/src/animation/{timeline.js → timeline.ts} +54 -18
- package/src/bundle.ts +4 -0
- package/src/geometries/{cone-geometry.js → cone-geometry.ts} +9 -3
- package/src/geometries/{cube-geometry.js → cube-geometry.ts} +17 -12
- package/src/geometries/cylinder-geometry.ts +20 -0
- package/src/geometries/{ico-sphere-geometry.js → ico-sphere-geometry.ts} +10 -3
- package/src/geometries/{plane-geometry.js → plane-geometry.ts} +11 -6
- package/src/geometries/{sphere-geometry.js → sphere-geometry.ts} +15 -11
- package/src/geometries/{truncated-cone-geometry.js → truncated-cone-geometry.ts} +14 -5
- package/src/geometry/{geometry-utils.js → geometry-utils.ts} +2 -0
- package/src/geometry/{geometry.js → geometry.ts} +47 -34
- package/src/index.ts +35 -0
- package/src/lib/animation-loop.ts +724 -0
- package/src/lib/{model-utils.js → model-utils.ts} +2 -2
- package/src/lib/{model.js → model.ts} +184 -66
- package/src/lib/{program-manager.js → program-manager.ts} +53 -34
- package/src/lib/render-loop.ts +56 -0
- package/src/transform/{buffer-transform.js → buffer-transform.ts} +42 -27
- package/src/transform/{texture-transform.js → texture-transform.ts} +35 -25
- package/src/transform/{transform-shader-utils.js → transform-shader-utils.ts} +55 -27
- package/src/transform/transform-types.ts +42 -0
- package/src/transform/transform.ts +189 -0
- package/src/utils/{clip-space.js → clip-space.ts} +4 -3
- package/dist/dist.js +0 -32403
- package/dist/dist.min.js +0 -1
- package/dist/es5/animation/key-frames.d.ts +0 -19
- package/dist/es5/animation/key-frames.js +0 -95
- package/dist/es5/animation/key-frames.js.map +0 -1
- package/dist/es5/animation/timeline.d.ts +0 -39
- package/dist/es5/animation/timeline.js +0 -211
- package/dist/es5/animation/timeline.js.map +0 -1
- package/dist/es5/bundle.js +0 -9
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/geometries/cone-geometry.d.ts +0 -5
- package/dist/es5/geometries/cone-geometry.js +0 -59
- package/dist/es5/geometries/cone-geometry.js.map +0 -1
- package/dist/es5/geometries/cube-geometry.d.ts +0 -5
- package/dist/es5/geometries/cube-geometry.js +0 -75
- package/dist/es5/geometries/cube-geometry.js.map +0 -1
- package/dist/es5/geometries/cylinder-geometry.d.ts +0 -5
- package/dist/es5/geometries/cylinder-geometry.js +0 -55
- package/dist/es5/geometries/cylinder-geometry.js.map +0 -1
- package/dist/es5/geometries/ico-sphere-geometry.d.ts +0 -5
- package/dist/es5/geometries/ico-sphere-geometry.js +0 -217
- package/dist/es5/geometries/ico-sphere-geometry.js.map +0 -1
- package/dist/es5/geometries/index.d.ts +0 -7
- package/dist/es5/geometries/index.js +0 -64
- package/dist/es5/geometries/index.js.map +0 -1
- package/dist/es5/geometries/plane-geometry.d.ts +0 -5
- package/dist/es5/geometries/plane-geometry.js +0 -168
- package/dist/es5/geometries/plane-geometry.js.map +0 -1
- package/dist/es5/geometries/sphere-geometry.d.ts +0 -5
- package/dist/es5/geometries/sphere-geometry.js +0 -152
- package/dist/es5/geometries/sphere-geometry.js.map +0 -1
- package/dist/es5/geometries/truncated-cone-geometry.d.ts +0 -5
- package/dist/es5/geometries/truncated-cone-geometry.js +0 -171
- package/dist/es5/geometries/truncated-cone-geometry.js.map +0 -1
- package/dist/es5/geometry/geometry-utils.d.ts +0 -1
- package/dist/es5/geometry/geometry-utils.js +0 -49
- package/dist/es5/geometry/geometry-utils.js.map +0 -1
- package/dist/es5/geometry/geometry.d.ts +0 -25
- package/dist/es5/geometry/geometry.js +0 -150
- package/dist/es5/geometry/geometry.js.map +0 -1
- package/dist/es5/index.d.ts +0 -19
- package/dist/es5/index.js +0 -128
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/lib/animation-loop.d.ts +0 -158
- package/dist/es5/lib/animation-loop.js +0 -642
- package/dist/es5/lib/animation-loop.js.map +0 -1
- package/dist/es5/lib/model-utils.d.ts +0 -3
- package/dist/es5/lib/model-utils.js +0 -110
- package/dist/es5/lib/model-utils.js.map +0 -1
- package/dist/es5/lib/model.d.ts +0 -214
- package/dist/es5/lib/model.js +0 -584
- package/dist/es5/lib/model.js.map +0 -1
- package/dist/es5/lib/program-manager.d.ts +0 -79
- package/dist/es5/lib/program-manager.js +0 -238
- package/dist/es5/lib/program-manager.js.map +0 -1
- package/dist/es5/transform/buffer-transform.d.ts +0 -13
- package/dist/es5/transform/buffer-transform.js +0 -294
- package/dist/es5/transform/buffer-transform.js.map +0 -1
- package/dist/es5/transform/resource-transform.d.ts +0 -16
- package/dist/es5/transform/texture-transform.d.ts +0 -16
- package/dist/es5/transform/texture-transform.js +0 -405
- package/dist/es5/transform/texture-transform.js.map +0 -1
- package/dist/es5/transform/transform-shader-utils.d.ts +0 -31
- package/dist/es5/transform/transform-shader-utils.js +0 -160
- package/dist/es5/transform/transform-shader-utils.js.map +0 -1
- package/dist/es5/transform/transform.d.ts +0 -33
- package/dist/es5/transform/transform.js +0 -274
- package/dist/es5/transform/transform.js.map +0 -1
- package/dist/es5/utils/clip-space.d.ts +0 -5
- package/dist/es5/utils/clip-space.js +0 -72
- package/dist/es5/utils/clip-space.js.map +0 -1
- package/dist/esm/animation/key-frames.d.ts +0 -19
- package/dist/esm/animation/key-frames.js.map +0 -1
- package/dist/esm/animation/timeline.d.ts +0 -39
- package/dist/esm/animation/timeline.js.map +0 -1
- package/dist/esm/bundle.js +0 -7
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/geometries/cone-geometry.d.ts +0 -5
- package/dist/esm/geometries/cone-geometry.js.map +0 -1
- package/dist/esm/geometries/cube-geometry.d.ts +0 -5
- package/dist/esm/geometries/cube-geometry.js.map +0 -1
- package/dist/esm/geometries/cylinder-geometry.d.ts +0 -5
- package/dist/esm/geometries/cylinder-geometry.js.map +0 -1
- package/dist/esm/geometries/ico-sphere-geometry.d.ts +0 -5
- package/dist/esm/geometries/ico-sphere-geometry.js.map +0 -1
- package/dist/esm/geometries/index.d.ts +0 -7
- package/dist/esm/geometries/index.js +0 -8
- package/dist/esm/geometries/index.js.map +0 -1
- package/dist/esm/geometries/plane-geometry.d.ts +0 -5
- package/dist/esm/geometries/plane-geometry.js.map +0 -1
- package/dist/esm/geometries/sphere-geometry.d.ts +0 -5
- package/dist/esm/geometries/sphere-geometry.js.map +0 -1
- package/dist/esm/geometries/truncated-cone-geometry.d.ts +0 -5
- package/dist/esm/geometries/truncated-cone-geometry.js.map +0 -1
- package/dist/esm/geometry/geometry-utils.d.ts +0 -1
- package/dist/esm/geometry/geometry-utils.js.map +0 -1
- package/dist/esm/geometry/geometry.d.ts +0 -25
- package/dist/esm/geometry/geometry.js.map +0 -1
- package/dist/esm/index.d.ts +0 -19
- package/dist/esm/index.js +0 -16
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/animation-loop.d.ts +0 -158
- package/dist/esm/lib/animation-loop.js.map +0 -1
- package/dist/esm/lib/model-utils.d.ts +0 -3
- package/dist/esm/lib/model-utils.js.map +0 -1
- package/dist/esm/lib/model.d.ts +0 -214
- package/dist/esm/lib/model.js.map +0 -1
- package/dist/esm/lib/program-manager.d.ts +0 -79
- package/dist/esm/lib/program-manager.js.map +0 -1
- package/dist/esm/transform/buffer-transform.d.ts +0 -13
- package/dist/esm/transform/buffer-transform.js.map +0 -1
- package/dist/esm/transform/resource-transform.d.ts +0 -16
- package/dist/esm/transform/texture-transform.d.ts +0 -16
- package/dist/esm/transform/texture-transform.js.map +0 -1
- package/dist/esm/transform/transform-shader-utils.d.ts +0 -31
- package/dist/esm/transform/transform-shader-utils.js.map +0 -1
- package/dist/esm/transform/transform.d.ts +0 -33
- package/dist/esm/transform/transform.js.map +0 -1
- package/dist/esm/utils/clip-space.d.ts +0 -5
- package/dist/esm/utils/clip-space.js.map +0 -1
- package/src/animation/key-frames.d.ts +0 -19
- package/src/animation/timeline.d.ts +0 -39
- package/src/bundle.js +0 -7
- package/src/geometries/cone-geometry.d.ts +0 -5
- package/src/geometries/cube-geometry.d.ts +0 -5
- package/src/geometries/cylinder-geometry.d.ts +0 -5
- package/src/geometries/cylinder-geometry.js +0 -14
- package/src/geometries/ico-sphere-geometry.d.ts +0 -5
- package/src/geometries/index.d.ts +0 -7
- package/src/geometries/index.js +0 -7
- package/src/geometries/plane-geometry.d.ts +0 -5
- package/src/geometries/sphere-geometry.d.ts +0 -5
- package/src/geometries/truncated-cone-geometry.d.ts +0 -5
- package/src/geometry/geometry-utils.d.ts +0 -1
- package/src/geometry/geometry.d.ts +0 -25
- package/src/index.d.ts +0 -19
- package/src/index.js +0 -22
- package/src/lib/animation-loop.d.ts +0 -158
- package/src/lib/animation-loop.js +0 -601
- package/src/lib/model-utils.d.ts +0 -3
- package/src/lib/model.d.ts +0 -214
- package/src/lib/program-manager.d.ts +0 -79
- package/src/transform/buffer-transform.d.ts +0 -13
- package/src/transform/resource-transform.d.ts +0 -16
- package/src/transform/texture-transform.d.ts +0 -16
- package/src/transform/transform-shader-utils.d.ts +0 -31
- package/src/transform/transform.d.ts +0 -33
- package/src/transform/transform.js +0 -177
- package/src/utils/clip-space.d.ts +0 -5
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/transform/transform.js"],"names":["getPassthroughFS","BufferTransform","TextureTransform","isWebGL2","assert","isObjectEmpty","getShaderVersion","Model","Transform","isSupported","gl","constructor","props","model","elementCount","bufferTransform","textureTransform","elementIDBuffer","_initialize","Object","seal","delete","run","opts","clearRenderTarget","updatedOpts","_updateDrawOptions","framebuffer","clear","color","transform","swap","swapped","resourceTransforms","filter","Boolean","resourceTransform","getBuffer","varyingName","getData","data","getFramebuffer","update","setVertexCount","_buildResourceTransforms","_updateModelProps","assign","fs","version","vs","id","drawMode","vertexCount","setupResources","updatedProps","updateModelProps","canCreateBufferTransform","canCreateTextureTransform","getDrawOptions","feedbackBuffers","feedbackMap","varyings","length","_sourceTextures","_targetTexture","_targetTextureVarying"],"mappings":"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","sourcesContent":["import GL from '@luma.gl/constants';\nimport {getPassthroughFS} from '@luma.gl/shadertools';\nimport BufferTransform from './buffer-transform';\nimport TextureTransform from './texture-transform';\n\nimport {isWebGL2} from '@luma.gl/gltools';\nimport {assert, isObjectEmpty, getShaderVersion} from '@luma.gl/webgl';\nimport Model from '../lib/model';\n\n// takes source and target buffers/textures and setsup the pipeline\nexport default class Transform {\n static isSupported(gl) {\n // TODO : differentiate writting to buffer vs not\n return isWebGL2(gl);\n }\n\n constructor(gl, props = {}) {\n this.gl = gl;\n this.model = null;\n this.elementCount = 0;\n this.bufferTransform = null;\n this.textureTransform = null;\n this.elementIDBuffer = null;\n this._initialize(props);\n Object.seal(this);\n }\n\n // Delete owned resources.\n delete() {\n const {model, bufferTransform, textureTransform} = this;\n if (model) {\n model.delete();\n }\n if (bufferTransform) {\n bufferTransform.delete();\n }\n if (textureTransform) {\n textureTransform.delete();\n }\n }\n\n // Run one transform loop.\n run(opts = {}) {\n const {clearRenderTarget = true} = opts;\n\n const updatedOpts = this._updateDrawOptions(opts);\n\n if (clearRenderTarget && updatedOpts.framebuffer) {\n updatedOpts.framebuffer.clear({color: true});\n }\n\n this.model.transform(updatedOpts);\n }\n\n // swap resources if a map is provided\n swap() {\n let swapped = false;\n const resourceTransforms = [this.bufferTransform, this.textureTransform].filter(Boolean);\n for (const resourceTransform of resourceTransforms) {\n swapped = swapped || resourceTransform.swap();\n }\n assert(swapped, 'Nothing to swap');\n }\n\n // Return Buffer object for given varying name.\n getBuffer(varyingName = null) {\n return this.bufferTransform && this.bufferTransform.getBuffer(varyingName);\n }\n\n // Return data either from Buffer or from Texture\n getData(opts = {}) {\n const resourceTransforms = [this.bufferTransform, this.textureTransform].filter(Boolean);\n for (const resourceTransform of resourceTransforms) {\n // @ts-ignore\n const data = resourceTransform.getData(opts);\n if (data) {\n return data;\n }\n }\n return null;\n }\n\n // Return framebuffer object if rendering to textures\n getFramebuffer() {\n return this.textureTransform && this.textureTransform.getFramebuffer();\n }\n\n // Update some or all buffer/texture bindings.\n update(opts = {}) {\n if ('elementCount' in opts) {\n // @ts-ignore TODO\n this.model.setVertexCount(opts.elementCount);\n }\n const resourceTransforms = [this.bufferTransform, this.textureTransform].filter(Boolean);\n for (const resourceTransform of resourceTransforms) {\n resourceTransform.update(opts);\n }\n }\n\n // Private\n\n _initialize(props = {}) {\n const {gl} = this;\n this._buildResourceTransforms(gl, props);\n\n props = this._updateModelProps(props);\n this.model = new Model(\n gl,\n Object.assign({}, props, {\n fs: props.fs || getPassthroughFS({version: getShaderVersion(props.vs)}),\n id: props.id || 'transform-model',\n drawMode: props.drawMode || GL.POINTS,\n vertexCount: props.elementCount\n })\n );\n\n /* eslint-disable no-unused-expressions */\n this.bufferTransform && this.bufferTransform.setupResources({model: this.model});\n /* eslint-enable no-unused-expressions */\n }\n\n _updateModelProps(props) {\n let updatedProps = Object.assign({}, props);\n const resourceTransforms = [this.bufferTransform, this.textureTransform].filter(Boolean);\n for (const resourceTransform of resourceTransforms) {\n updatedProps = resourceTransform.updateModelProps(updatedProps);\n }\n return updatedProps;\n }\n\n _buildResourceTransforms(gl, props) {\n if (canCreateBufferTransform(props)) {\n this.bufferTransform = new BufferTransform(gl, props);\n }\n if (canCreateTextureTransform(props)) {\n this.textureTransform = new TextureTransform(gl, props);\n }\n assert(\n this.bufferTransform || this.textureTransform,\n 'must provide source/feedback buffers or source/target textures'\n );\n }\n\n _updateDrawOptions(opts) {\n let updatedOpts = Object.assign({}, opts);\n const resourceTransforms = [this.bufferTransform, this.textureTransform].filter(Boolean);\n for (const resourceTransform of resourceTransforms) {\n updatedOpts = Object.assign(updatedOpts, resourceTransform.getDrawOptions(updatedOpts));\n }\n return updatedOpts;\n }\n}\n\n// Helper Methods\n\nfunction canCreateBufferTransform(props) {\n if (\n !isObjectEmpty(props.feedbackBuffers) ||\n !isObjectEmpty(props.feedbackMap) ||\n (props.varyings && props.varyings.length > 0)\n ) {\n return true;\n }\n return false;\n}\n\nfunction canCreateTextureTransform(props) {\n if (\n !isObjectEmpty(props._sourceTextures) ||\n props._targetTexture ||\n props._targetTextureVarying\n ) {\n return true;\n }\n\n return false;\n}\n"],"file":"transform.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/utils/clip-space.js"],"names":["Model","Geometry","CLIPSPACE_VERTEX_SHADER","POSITIONS","ClipSpace","constructor","gl","opts","TEX_COORDS","map","coord","Object","assign","vs","geometry","drawMode","vertexCount","attributes","aClipSpacePosition","size","value","Float32Array","aTexCoord","aCoordinate","setVertexCount"],"mappings":"AAEA,OAAOA,KAAP,MAAkB,cAAlB;AACA,OAAOC,QAAP,MAAqB,sBAArB;AAEA,MAAMC,uBAAuB,GAAI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAfA;AAkBA,MAAMC,SAAS,GAAG,CAAC,CAAC,CAAF,EAAK,CAAC,CAAN,EAAS,CAAT,EAAY,CAAC,CAAb,EAAgB,CAAC,CAAjB,EAAoB,CAApB,EAAuB,CAAvB,EAA0B,CAA1B,CAAlB;AAEA,eAAe,MAAMC,SAAN,SAAwBJ,KAAxB,CAA8B;AAC3CK,EAAAA,WAAW,CAACC,EAAD,EAAKC,IAAL,EAAW;AACpB,UAAMC,UAAU,GAAGL,SAAS,CAACM,GAAV,CAAcC,KAAK,IAAKA,KAAK,KAAK,CAAC,CAAX,GAAe,CAAf,GAAmBA,KAA3C,CAAnB;AAEA,UACEJ,EADF,EAEEK,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBL,IAAlB,EAAwB;AACtBM,MAAAA,EAAE,EAAEX,uBADkB;AAEtBY,MAAAA,QAAQ,EAAE,IAAIb,QAAJ,CAAa;AACrBc,QAAAA,QAAQ,GADa;AAErBC,QAAAA,WAAW,EAAE,CAFQ;AAGrBC,QAAAA,UAAU,EAAE;AACVC,UAAAA,kBAAkB,EAAE;AAACC,YAAAA,IAAI,EAAE,CAAP;AAAUC,YAAAA,KAAK,EAAE,IAAIC,YAAJ,CAAiBlB,SAAjB;AAAjB,WADV;AAEVmB,UAAAA,SAAS,EAAE;AAACH,YAAAA,IAAI,EAAE,CAAP;AAAUC,YAAAA,KAAK,EAAE,IAAIC,YAAJ,CAAiBb,UAAjB;AAAjB,WAFD;AAGVe,UAAAA,WAAW,EAAE;AAACJ,YAAAA,IAAI,EAAE,CAAP;AAAUC,YAAAA,KAAK,EAAE,IAAIC,YAAJ,CAAiBb,UAAjB;AAAjB;AAHH;AAHS,OAAb;AAFY,KAAxB,CAFF;AAeA,SAAKgB,cAAL,CAAoB,CAApB;AACD;;AApB0C","sourcesContent":["// ClipSpace\nimport GL from '@luma.gl/constants';\nimport Model from '../lib/model';\nimport Geometry from '../geometry/geometry';\n\nconst CLIPSPACE_VERTEX_SHADER = `\\\nattribute vec2 aClipSpacePosition;\nattribute vec2 aTexCoord;\nattribute vec2 aCoordinate;\n\nvarying vec2 position;\nvarying vec2 coordinate;\nvarying vec2 uv;\n\nvoid main(void) {\n gl_Position = vec4(aClipSpacePosition, 0., 1.);\n position = aClipSpacePosition;\n coordinate = aCoordinate;\n uv = aTexCoord;\n}\n`;\n\n/* eslint-disable indent, no-multi-spaces */\nconst POSITIONS = [-1, -1, 1, -1, -1, 1, 1, 1];\n\nexport default class ClipSpace extends Model {\n constructor(gl, opts) {\n const TEX_COORDS = POSITIONS.map(coord => (coord === -1 ? 0 : coord));\n\n super(\n gl,\n Object.assign({}, opts, {\n vs: CLIPSPACE_VERTEX_SHADER,\n geometry: new Geometry({\n drawMode: GL.TRIANGLE_STRIP,\n vertexCount: 4,\n attributes: {\n aClipSpacePosition: {size: 2, value: new Float32Array(POSITIONS)},\n aTexCoord: {size: 2, value: new Float32Array(TEX_COORDS)},\n aCoordinate: {size: 2, value: new Float32Array(TEX_COORDS)}\n }\n })\n })\n );\n this.setVertexCount(4);\n }\n}\n"],"file":"clip-space.js"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
type KeyFrame<T> = [number, T]
|
|
2
|
-
|
|
3
|
-
export class KeyFrames<T> {
|
|
4
|
-
_lastTime: number
|
|
5
|
-
startIndex: number
|
|
6
|
-
endIndex: number
|
|
7
|
-
factor: number
|
|
8
|
-
times: Array<number>
|
|
9
|
-
values: Array<T>
|
|
10
|
-
|
|
11
|
-
constructor(keyFrames: Array<KeyFrame<T>> | number[][]);
|
|
12
|
-
setKeyFrames(keyFrames: Array<KeyFrame<T>> | number[][]): void;
|
|
13
|
-
setTime(time: number): void;
|
|
14
|
-
getStartTime(): number;
|
|
15
|
-
getEndTime(): number;
|
|
16
|
-
getStartData(): T;
|
|
17
|
-
getEndData(): T;
|
|
18
|
-
_calculateKeys(time: number): void;
|
|
19
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
interface ChannelProps {
|
|
2
|
-
delay?: number
|
|
3
|
-
duration?: number
|
|
4
|
-
rate?: number
|
|
5
|
-
repeat?: number
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
interface Channel {
|
|
9
|
-
time: number
|
|
10
|
-
delay: number
|
|
11
|
-
duration: number
|
|
12
|
-
rate: number
|
|
13
|
-
repeat: number
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
interface Animation {
|
|
17
|
-
setTime: (time: number) => void
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export class Timeline {
|
|
21
|
-
time: number
|
|
22
|
-
channels: Map<number, Channel>
|
|
23
|
-
animations: Map<number, Animation>
|
|
24
|
-
playing: boolean
|
|
25
|
-
lastEngineTime: number
|
|
26
|
-
constructor();
|
|
27
|
-
addChannel(props: ChannelProps): number;
|
|
28
|
-
removeChannel(handle: number): void;
|
|
29
|
-
isFinished(handle: number): boolean;
|
|
30
|
-
getTime(handle?: number): any;
|
|
31
|
-
setTime(time: number): void;
|
|
32
|
-
play(): void;
|
|
33
|
-
pause(): void;
|
|
34
|
-
reset(): void;
|
|
35
|
-
attachAnimation(animation: Animation, channelHandle: any): number;
|
|
36
|
-
detachAnimation(handle: number): void;
|
|
37
|
-
update(engineTime: number): void;
|
|
38
|
-
_setChannelTime(channel: Channel, time: number): void;
|
|
39
|
-
}
|
package/src/bundle.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import TruncatedConeGeometry from './truncated-cone-geometry';
|
|
2
|
-
import {uid} from '@luma.gl/webgl';
|
|
3
|
-
|
|
4
|
-
export default class CylinderGeometry extends TruncatedConeGeometry {
|
|
5
|
-
constructor(props = {}) {
|
|
6
|
-
const {id = uid('cylinder-geometry'), radius = 1} = props;
|
|
7
|
-
super({
|
|
8
|
-
...props,
|
|
9
|
-
id,
|
|
10
|
-
bottomRadius: radius,
|
|
11
|
-
topRadius: radius
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export {default as ConeGeometry} from './cone-geometry';
|
|
2
|
-
export {default as CubeGeometry} from './cube-geometry';
|
|
3
|
-
export {default as CylinderGeometry} from './cylinder-geometry';
|
|
4
|
-
export {default as IcoSphereGeometry} from './ico-sphere-geometry';
|
|
5
|
-
export {default as PlaneGeometry} from './plane-geometry';
|
|
6
|
-
export {default as SphereGeometry} from './sphere-geometry';
|
|
7
|
-
export {default as TruncatedConeGeometry} from './truncated-cone-geometry';
|
package/src/geometries/index.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export {default as ConeGeometry} from './cone-geometry';
|
|
2
|
-
export {default as CubeGeometry} from './cube-geometry';
|
|
3
|
-
export {default as CylinderGeometry} from './cylinder-geometry';
|
|
4
|
-
export {default as IcoSphereGeometry} from './ico-sphere-geometry';
|
|
5
|
-
export {default as PlaneGeometry} from './plane-geometry';
|
|
6
|
-
export {default as SphereGeometry} from './sphere-geometry';
|
|
7
|
-
export {default as TruncatedConeGeometry} from './truncated-cone-geometry';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export function unpackIndexedGeometry(geometry: any): any;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export const DRAW_MODE: {
|
|
2
|
-
POINTS: number;
|
|
3
|
-
LINES: number;
|
|
4
|
-
LINE_LOOP: number;
|
|
5
|
-
LINE_STRIP: number;
|
|
6
|
-
TRIANGLES: number;
|
|
7
|
-
TRIANGLE_STRIP: number;
|
|
8
|
-
TRIANGLE_FAN: number;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export default class Geometry {
|
|
12
|
-
static get DRAW_MODE(): {
|
|
13
|
-
POINTS: number;
|
|
14
|
-
LINES: number;
|
|
15
|
-
LINE_LOOP: number;
|
|
16
|
-
LINE_STRIP: number;
|
|
17
|
-
TRIANGLES: number;
|
|
18
|
-
TRIANGLE_STRIP: number;
|
|
19
|
-
TRIANGLE_FAN: number;
|
|
20
|
-
};
|
|
21
|
-
constructor(props?: {});
|
|
22
|
-
get mode(): any;
|
|
23
|
-
getVertexCount(): any;
|
|
24
|
-
getAttributes(): any;
|
|
25
|
-
}
|
package/src/index.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export {default as AnimationLoop} from './lib/animation-loop';
|
|
2
|
-
export {default as Model} from './lib/model';
|
|
3
|
-
export {default as ProgramManager} from './lib/program-manager';
|
|
4
|
-
export {default as Transform} from './transform/transform';
|
|
5
|
-
|
|
6
|
-
export {Timeline} from './animation/timeline';
|
|
7
|
-
export {KeyFrames} from './animation/key-frames';
|
|
8
|
-
|
|
9
|
-
// Geometries
|
|
10
|
-
export {default as Geometry} from './geometry/geometry';
|
|
11
|
-
export {default as ConeGeometry} from './geometries/cone-geometry';
|
|
12
|
-
export {default as CubeGeometry} from './geometries/cube-geometry';
|
|
13
|
-
export {default as CylinderGeometry} from './geometries/cylinder-geometry';
|
|
14
|
-
export {default as IcoSphereGeometry} from './geometries/ico-sphere-geometry';
|
|
15
|
-
export {default as PlaneGeometry} from './geometries/plane-geometry';
|
|
16
|
-
export {default as SphereGeometry} from './geometries/sphere-geometry';
|
|
17
|
-
export {default as TruncatedConeGeometry} from './geometries/truncated-cone-geometry';
|
|
18
|
-
|
|
19
|
-
export {default as ClipSpace} from './utils/clip-space';
|
package/src/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
// CORE
|
|
2
|
-
export {default as AnimationLoop} from './lib/animation-loop';
|
|
3
|
-
export {default as Model} from './lib/model';
|
|
4
|
-
export {default as ProgramManager} from './lib/program-manager';
|
|
5
|
-
export {default as Transform} from './transform/transform';
|
|
6
|
-
|
|
7
|
-
// Geometries
|
|
8
|
-
export {default as Geometry} from './geometry/geometry';
|
|
9
|
-
export {default as ConeGeometry} from './geometries/cone-geometry';
|
|
10
|
-
export {default as CubeGeometry} from './geometries/cube-geometry';
|
|
11
|
-
export {default as CylinderGeometry} from './geometries/cylinder-geometry';
|
|
12
|
-
export {default as IcoSphereGeometry} from './geometries/ico-sphere-geometry';
|
|
13
|
-
export {default as PlaneGeometry} from './geometries/plane-geometry';
|
|
14
|
-
export {default as SphereGeometry} from './geometries/sphere-geometry';
|
|
15
|
-
export {default as TruncatedConeGeometry} from './geometries/truncated-cone-geometry';
|
|
16
|
-
|
|
17
|
-
// Animation
|
|
18
|
-
export {Timeline} from './animation/timeline';
|
|
19
|
-
export {KeyFrames} from './animation/key-frames';
|
|
20
|
-
|
|
21
|
-
// Utils
|
|
22
|
-
export {default as ClipSpace} from './utils/clip-space';
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
// TODO - remove dependency on framebuffer (bundle size impact)
|
|
2
|
-
import {Query, Framebuffer} from '@luma.gl/webgl';
|
|
3
|
-
import { Stats } from 'probe.gl'
|
|
4
|
-
import { Timeline } from '../animation/timeline'
|
|
5
|
-
|
|
6
|
-
import {CreateGLContextOptions} from '@luma.gl/gltools'
|
|
7
|
-
import {StatsManager} from '@luma.gl/webgl/src/init';
|
|
8
|
-
|
|
9
|
-
interface AnimationProps {
|
|
10
|
-
gl: WebGLRenderingContext
|
|
11
|
-
|
|
12
|
-
stop: () => AnimationLoop
|
|
13
|
-
canvas: HTMLCanvasElement | OffscreenCanvas
|
|
14
|
-
framebuffer: Framebuffer
|
|
15
|
-
// Initial values
|
|
16
|
-
useDevicePixels: number | boolean
|
|
17
|
-
needsRedraw?: string
|
|
18
|
-
// Animation props
|
|
19
|
-
startTime: number
|
|
20
|
-
engineTime: number
|
|
21
|
-
tick: number
|
|
22
|
-
tock: number
|
|
23
|
-
|
|
24
|
-
// Timeline time for back compatibility
|
|
25
|
-
time: number
|
|
26
|
-
|
|
27
|
-
width: number
|
|
28
|
-
height: number
|
|
29
|
-
aspect: number
|
|
30
|
-
|
|
31
|
-
// Experimental
|
|
32
|
-
_timeline: Timeline
|
|
33
|
-
_loop: AnimationLoop
|
|
34
|
-
_animationLoop: AnimationLoop
|
|
35
|
-
_mousePosition?: [number, number] // [offsetX, offsetY]
|
|
36
|
-
_offScreen: boolean
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
type AnimationLoopViewProps = {
|
|
40
|
-
// view parameters
|
|
41
|
-
autoResizeViewport?: boolean
|
|
42
|
-
autoResizeDrawingBuffer?: boolean
|
|
43
|
-
useDevicePixels?: number | boolean
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// constructor parameters
|
|
47
|
-
type AnimationLoopProps = AnimationLoopViewProps & {
|
|
48
|
-
onCreateContext?: (opts: CreateGLContextOptions) => WebGLRenderingContext // TODO: signature from createGLContext
|
|
49
|
-
onAddHTML?: (div: HTMLDivElement) => string // innerHTML
|
|
50
|
-
onInitialize?: (animationProps: AnimationProps) => AnimationProps | Promise<AnimationProps>
|
|
51
|
-
onRender?: (animationProps: AnimationProps) => void
|
|
52
|
-
onFinalize?: (animationProps: AnimationProps) => void
|
|
53
|
-
onError?: (reason: any) => PromiseLike<never>
|
|
54
|
-
gl?: WebGLRenderingContext
|
|
55
|
-
glOptions?: CreateGLContextOptions // createGLContext options
|
|
56
|
-
debug?: boolean
|
|
57
|
-
createFramebuffer?: boolean
|
|
58
|
-
stats?: Stats
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
// instance of parameters after construction
|
|
62
|
-
type AnimationLoopPropsInternal = {
|
|
63
|
-
onCreateContext: (opts: CreateGLContextOptions) => WebGLRenderingContext // TODO: signature from createGLContext
|
|
64
|
-
onAddHTML?: (div: HTMLDivElement) => string // innerHTML
|
|
65
|
-
onInitialize: (animationProps: AnimationProps) => AnimationProps | Promise<AnimationProps>
|
|
66
|
-
onRender: (animationProps: AnimationProps) => void
|
|
67
|
-
onFinalize: (animationProps: AnimationProps) => void
|
|
68
|
-
onError: (reason: any) => PromiseLike<never>
|
|
69
|
-
gl?: WebGLRenderingContext
|
|
70
|
-
glOptions: CreateGLContextOptions // createGLContext options
|
|
71
|
-
debug: boolean
|
|
72
|
-
createFramebuffer: boolean
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export default class AnimationLoop {
|
|
76
|
-
readonly animationProps: AnimationProps
|
|
77
|
-
readonly props: AnimationLoopPropsInternal
|
|
78
|
-
readonly gl: WebGLRenderingContext
|
|
79
|
-
readonly canvas: HTMLCanvasElement | OffscreenCanvas
|
|
80
|
-
readonly framebuffer: Framebuffer
|
|
81
|
-
readonly timeline: Timeline
|
|
82
|
-
readonly stats: Stats
|
|
83
|
-
readonly cpuTime: Stats
|
|
84
|
-
readonly gpuTime: Stats
|
|
85
|
-
readonly frameRate: Stats
|
|
86
|
-
readonly offScreen: boolean
|
|
87
|
-
|
|
88
|
-
readonly display: any
|
|
89
|
-
|
|
90
|
-
readonly useDevicePixels: number | boolean
|
|
91
|
-
readonly autoResizeDrawingBuffer: boolean
|
|
92
|
-
readonly autoResizeViewport: boolean
|
|
93
|
-
|
|
94
|
-
constructor(props?: AnimationLoopProps);
|
|
95
|
-
delete(): void;
|
|
96
|
-
setNeedsRedraw(reason: string): AnimationLoop;
|
|
97
|
-
setProps(props: AnimationLoopViewProps): AnimationLoop;
|
|
98
|
-
start(opts?: CreateGLContextOptions): AnimationLoop;
|
|
99
|
-
redraw(): AnimationLoop;
|
|
100
|
-
stop(): AnimationLoop;
|
|
101
|
-
attachTimeline(timeline: Timeline): Timeline;
|
|
102
|
-
detachTimeline(): void;
|
|
103
|
-
waitForRender(): Promise<void>;
|
|
104
|
-
toDataURL(): Promise<string>;
|
|
105
|
-
setViewParameters(): AnimationLoop;
|
|
106
|
-
getHTMLControlValue(id: string, defaultValue?: number): number;
|
|
107
|
-
isContextLost(): boolean;
|
|
108
|
-
|
|
109
|
-
// Callbacks
|
|
110
|
-
onCreateContext(opts: CreateGLContextOptions): WebGLRenderingContext;
|
|
111
|
-
onInitialize(animationProps: object): object | Promise<object> | void;
|
|
112
|
-
onRender(animationProps: object): void;
|
|
113
|
-
onFinalize(animationProps: object): void;
|
|
114
|
-
// TODO
|
|
115
|
-
// onInitialize(animationProps: AnimationProps): AnimationProps | Promise<AnimationProps>;
|
|
116
|
-
// onRender(animationProps: AnimationProps): void;
|
|
117
|
-
// onFinalize(animationProps: AnimationProps): void;
|
|
118
|
-
|
|
119
|
-
/*
|
|
120
|
-
_startLoop(): void;
|
|
121
|
-
_getPageLoadPromise(): Promise<Document>;
|
|
122
|
-
_setDisplay(display?: any): void;
|
|
123
|
-
_requestAnimationFrame(renderFrameCallback: () => void): void;
|
|
124
|
-
_renderFrame(animationProps: AnimationProps): void;
|
|
125
|
-
_clearNeedsRedraw(): void;
|
|
126
|
-
_setupFrame(): void;
|
|
127
|
-
_initializeCallbackData(): void;
|
|
128
|
-
_updateCallbackData(): void;
|
|
129
|
-
_finalizeCallbackData(): void;
|
|
130
|
-
_addCallbackData(appContext: AnimationProps): void;
|
|
131
|
-
_createWebGLContext(opts: CreateGLContextOptions): void;
|
|
132
|
-
_createInfoDiv(): void;
|
|
133
|
-
_getSizeAndAspect(): {
|
|
134
|
-
width: number;
|
|
135
|
-
height: number;
|
|
136
|
-
aspect: number;
|
|
137
|
-
};
|
|
138
|
-
_resizeViewport(): void;
|
|
139
|
-
_resizeCanvasDrawingBuffer(): void;
|
|
140
|
-
_createFramebuffer(): void;
|
|
141
|
-
_resizeFramebuffer(): void;
|
|
142
|
-
_beginTimers(): void;
|
|
143
|
-
_endTimers(): void;
|
|
144
|
-
_startEventHandling(): void;
|
|
145
|
-
_onMousemove(e: MouseEvent): void;
|
|
146
|
-
_onMouseleave(e: MouseEvent): void;
|
|
147
|
-
|
|
148
|
-
_initialized: boolean
|
|
149
|
-
_running: boolean
|
|
150
|
-
_animationFrameId?: number
|
|
151
|
-
_nextFramePromise?: Promise<void>
|
|
152
|
-
_resolveNextFrame?: (value: AnimationLoop) => void
|
|
153
|
-
_cpuStartTime: number
|
|
154
|
-
_gpuTimeQuery?: Query
|
|
155
|
-
_pageLoadPromise?: Promise<Document>
|
|
156
|
-
|
|
157
|
-
*/
|
|
158
|
-
}
|