-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js.map
1 lines (1 loc) · 26.3 KB
/
index.js.map
1
{"version":3,"file":"index.js","sources":["src/index.js"],"sourcesContent":["import karas from 'karas';\nimport { MarsPlayer,AssetManager,Material,glContext,Composition } from '@galacean/mars-player';\n// const { MarsPlayer,AssetManager,Material,glContext,Composition } = window.mars;\nimport { version } from '../package.json';\n\nconst {\n refresh: {\n level: {\n CACHE,\n },\n webgl: {\n drawTextureCache,\n },\n },\n math: {\n matrix: {\n calRectPoint,\n },\n },\n util: {\n isNil,\n },\n mode: {\n CANVAS,\n WEBGL,\n },\n inject,\n} = karas;\n\nconst r2d = 180 / Math.PI;\n\nconst vertexSimple = `\nprecision lowp float;\nattribute vec2 aPos;\nvoid main(){ gl_Position = vec4(aPos,.0,1.);}\n`;\nconst fragmentSimple = `\nprecision lowp float;\nvoid main(){ gl_FragColor = vec4(1.);}\n`;\n\nfunction mapRange(p, min, max) {\n return p === 0 ? 0 : min + (max - min) * p;\n}\n\nclass $ extends karas.Geom {\n scene = null;\n playOptions = null;\n mp = null;\n timeDelta = 0;\n playbackRate = 1;\n\n constructor(tagName, props) {\n super(tagName, props);\n }\n\n render(renderMode, ctx, dx, dy) {\n let res = super.render(renderMode, ctx, dx, dy);\n if(res.break) {\n return res;\n }\n let root = this.__root;\n if(renderMode !== root.__renderMode || renderMode !== WEBGL) {\n return res;\n }\n let scene = this.scene;\n let gl = ctx;\n if(scene) {\n let mp = this.mp;\n if(!mp) {\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false);\n const renderFramework = gl instanceof WebGLRenderingContext? 'webgl': 'webgl2';\n mp = this.mp = new MarsPlayer({\n gl, renderFramework,\n manualRender: true,\n });\n this.gpu = mp.gpuCapability;\n this.renderState = mp.renderer.pipelineContext.gl;\n this.defaultMtl = Material.create({\n name: 'defMtl',\n shader: {\n vertex: vertexSimple,\n fragment: fragmentSimple,\n }\n });\n this.defaultMtl.blending = true;\n this.defaultMtl.blendFunction = [gl.ONE,gl.ONE_MINUS_SRC_ALPHA,gl.ONE,gl.ONE_MINUS_SRC_ALPHA];\n this.defaultMtl.depthMask = true;\n this.defaultMtl.depthTest = true;\n this.defaultMtl.culling = false;\n this.defaultMtl.cullFace = gl.CCW;\n this.defaultMtl.stencilTest = false;\n this.defaultMtl.polygonOffsetFill = false;\n this.defaultMtl.polygonOffset = [1, 0];\n\n this.renderState.bindFramebuffer(gl.FRAMEBUFFER, null);\n this.renderState.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 0);\n\n if(!this.host.blend) {\n this.renderState.disable(glContext.BLEND);\n }\n let flipY = gl.getParameter(gl.UNPACK_FLIP_Y_WEBGL);\n let premultiply = gl.getParameter(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL);\n let program = gl.getParameter(gl.CURRENT_PROGRAM);\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false);\n let activeTexIndex = gl.getParameter(gl.ACTIVE_TEXTURE);\n let originTexture = gl.getParameter(gl.TEXTURE_BINDING_2D);\n const renderer = mp.renderer;\n let composition = this.composition = Composition.initialize(scene, {\n handleEnd: () => {},\n keepResource: false,\n willReverseTime: false,\n ...this.playOptions,\n renderer,\n width: renderer.getWidth(),\n height: renderer.getHeight(),\n shaderLibrary: renderer.getShaderLibrary(),\n });\n let onComp = () => {\n composition.start();\n if (originTexture) {\n gl.bindTexture(gl.TEXTURE_2D, originTexture);\n }\n gl.activeTexture(activeTexIndex);\n this.renderState.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, +premultiply);\n this.renderState.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, +flipY);\n this.renderState.useProgram(null);\n gl.useProgram(program);\n scene.textures = void 0;\n };\n onComp();\n }\n let comp = this.composition;\n let renderer = comp && comp.renderer;\n if(renderer && !renderer.isDestroyed && !mp.paused) {\n this._updateTransform();\n this._updateComposition();\n let bit = glContext.STENCIL_BUFFER_BIT;\n if(this.host.clearDepth) {\n bit = bit | glContext.DEPTH_BUFFER_BIT;\n }\n this.renderState.clear(bit);\n renderer.renderRenderFrame(comp.renderFrame)\n }\n this._reset(ctx);\n }\n }\n\n _updateTransform() {\n let parent = this.domParent;\n let comp = this.composition;\n let point = this.project3DPoint(comp.camera);\n let scaleX = parent.getStyle('scaleX'),\n scaleY = parent.getStyle('scaleY'),\n rotateZ = parent.getStyle('rotateZ');\n let env = this.env;\n comp.rootTransform.setTransform({\n // position: point,\n scale: [scaleX, scaleY, 1],\n // rotation: [0, 0, rotateZ],\n });\n }\n\n _updateComposition() {\n let comp = this.composition;\n if(comp.shouldRestart()) {\n comp.restart();\n comp.update(0);\n }\n else if(!comp.shouldDestroy) {\n let dt = Math.min(this.timeDelta || 0, 33) * this.playbackRate;\n comp.update(dt);\n }\n }\n\n _reset(gl) {\n gl.useProgram(gl.program);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 1);\n gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);\n this.aliasRenderState();\n }\n\n aliasRenderState() {\n let mtl = this.defaultMtl;\n let marsRenderState = this.mp.renderer.pipelineContext;\n\n if(mtl && marsRenderState) {\n marsRenderState.reset();\n mtl.setupStates(marsRenderState);\n delete marsRenderState.glCapabilityCache[glContext.BLEND];\n marsRenderState.depthMask(false);\n marsRenderState.activeTexture(glContext.TEXTURE0);\n }\n }\n\n project3DPoint(camera, z = 0) {\n let parent = this.domParent;\n let x1 = this.x, y1 = this.y,\n translateX = parent.getStyle('translateX'),\n translateY = parent.getStyle('translateY');\n let pos = camera.position;\n let pw = this.width, ph = this.height;\n let fov = Math.tan(camera.fov / r2d / 2);\n let depth = pos[2] - z;\n let width, height;\n if(camera.clipMode) {\n width = fov * depth;\n height = width * ph / pw;\n }\n else {\n height = fov * depth;\n width = height * pw / ph;\n }\n let x = (x1 + translateX) / pw;\n let y = (y1 + translateY) / ph;\n return [mapRange(x, -width, width) + pos[0], mapRange(y, -height, height) + pos[1], z];\n }\n}\n\nclass Mars extends karas.Component {\n isPlay = false;\n isLoaded = false;\n __playbackRate = 1;\n clearDepth = false;\n blend = false;\n\n constructor(props) {\n super(props);\n\n this.isPlay = props.autoPlay !== false;\n this.__playbackRate = props.playbackRate ?? 1;\n this.clearDepth = !!props.clearDepth;\n this.blend = !!props.blend;\n }\n\n componentDidMount() {\n this.load();\n\n let { autoPlay = true } = this.props;\n this.cb = timeDelta => {\n fake.timeDelta = timeDelta;\n if(this.isPlay && this.isLoaded) {\n fake.refresh();\n }\n }\n let fake = this.ref.fake;\n fake.playbackRate = this.__playbackRate;\n if(autoPlay) {\n fake.frameAnimate(this.cb);\n }\n }\n\n componentWillUnmount() {\n const mp = this.ref.fake.mp;\n mp && mp.destroy(true);\n }\n\n load() {\n let url = this.props.url;\n if(!url) {\n return;\n }\n let request = new XMLHttpRequest();\n request.open('get', url, true);\n request.responseType = 'json';\n request.onload = () => {\n if(request.response) {\n this.isLoaded = true;\n let json = request.response;\n const asset = new AssetManager( {...this.props?.loadOptions});\n asset.loadScene(json).then(scene => {\n this.props.onLoad?.();\n this.playAnimation(scene);\n });\n }\n };\n request.send();\n }\n\n playAnimation(scene) {\n let fake = this.ref.fake;\n fake.scene = scene;\n fake.playOptions = this.props?.playOptions;\n // 第一帧强制显示\n fake.refresh();\n }\n\n render() {\n return <div>\n <$ ref=\"fake\" style={{\n width: '100%',\n height: '100%',\n fill: 'none',\n stroke: 0,\n }}/>\n </div>;\n }\n\n play(start) {\n const cb = () => {\n let comp = this.ref.fake.composition;\n if (comp) {\n this.ref.fake.removeFrameAnimate(cb);\n this.pause();\n comp.restart();\n comp.update(start ?? 0);\n this.resume();\n }\n }\n this.ref.fake.frameAnimate(cb);\n }\n\n pause() {\n this.ref.fake.removeFrameAnimate(this.cb);\n }\n\n resume() {\n this.ref.fake.frameAnimate(this.cb);\n }\n\n get playbackRate() {\n return this.__playbackRate;\n }\n\n set playbackRate(v) {\n v = parseFloat(v) ?? 1;\n // if(v <= 0) {\n // v = 1;\n // }\n this.__playbackRate = v;\n if (this.ref.fake) {\n this.ref.fake.playbackRate = v;\n }\n }\n}\n\nMars.version = version;\n\nexport default Mars;\n"],"names":["_karas$refresh","karas","refresh","CACHE","level","drawTextureCache","webgl","calRectPoint","math","matrix","isNil","util","_karas$mode","mode","CANVAS","WEBGL","inject","r2d","Math","PI","vertexSimple","fragmentSimple","mapRange","p","min","max","$","_karas$Geom","_inherits","tagName","props","_this","call","_defineProperty","_assertThisInitialized","_createClass","key","value","render","renderMode","ctx","dx","dy","_this2","res","_get","_getPrototypeOf","prototype","root","__root","__renderMode","scene","gl","mp","pixelStorei","UNPACK_PREMULTIPLY_ALPHA_WEBGL","renderFramework","WebGLRenderingContext","MarsPlayer","manualRender","gpu","gpuCapability","renderState","renderer","pipelineContext","defaultMtl","Material","create","name","shader","vertex","fragment","blending","blendFunction","ONE","ONE_MINUS_SRC_ALPHA","depthMask","depthTest","culling","cullFace","CCW","stencilTest","polygonOffsetFill","polygonOffset","bindFramebuffer","FRAMEBUFFER","host","blend","disable","glContext","BLEND","flipY","getParameter","UNPACK_FLIP_Y_WEBGL","premultiply","program","CURRENT_PROGRAM","activeTexIndex","ACTIVE_TEXTURE","originTexture","TEXTURE_BINDING_2D","composition","Composition","initialize","_objectSpread","handleEnd","keepResource","willReverseTime","playOptions","width","getWidth","height","getHeight","shaderLibrary","getShaderLibrary","onComp","start","bindTexture","TEXTURE_2D","activeTexture","useProgram","textures","comp","isDestroyed","paused","_updateTransform","_updateComposition","bit","STENCIL_BUFFER_BIT","clearDepth","DEPTH_BUFFER_BIT","clear","renderRenderFrame","renderFrame","_reset","parent","domParent","project3DPoint","camera","scaleX","getStyle","scaleY","rotateZ","env","rootTransform","setTransform","scale","shouldRestart","restart","update","shouldDestroy","dt","timeDelta","playbackRate","enable","blendFunc","aliasRenderState","mtl","marsRenderState","reset","setupStates","glCapabilityCache","TEXTURE0","z","arguments","length","undefined","x1","x","y1","y","translateX","translateY","pos","position","pw","ph","fov","tan","depth","clipMode","Geom","Mars","_karas$Component","_props$playbackRate","_this3","isPlay","autoPlay","__playbackRate","componentDidMount","_this4","load","_this$props$autoPlay","cb","fake","isLoaded","ref","frameAnimate","componentWillUnmount","destroy","_this5","url","request","XMLHttpRequest","open","responseType","onload","response","_this5$props","json","asset","AssetManager","loadOptions","loadScene","then","_this5$props$onLoad","_this5$props2","onLoad","playAnimation","send","_this$props","createElement","style","fill","stroke","play","_this6","removeFrameAnimate","pause","resume","get","set","v","_parseFloat","parseFloat","Component","version"],"mappings":"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"}