vue-cesium
Version:
Vue 3.x components for CesiumJS.
1 lines • 7.46 kB
Source Map (JSON)
{"version":3,"file":"customPrimitive.mjs","sources":["../../../../../../packages/components/overlays/wind/customPrimitive.ts"],"sourcesContent":["class CustomPrimitive {\n commandType: string\n geometry: any\n attributeLocations: any\n primitiveType: any\n uniformMap: any\n vertexShaderSource: any\n fragmentShaderSource: any\n rawRenderState: any\n framebuffer: any\n outputTexture: any\n autoClear: any\n preExecute: any\n show: boolean\n commandToExecute: any\n clearCommand: any\n constructor(options) {\n this.commandType = options.commandType\n\n this.geometry = options.geometry\n this.attributeLocations = options.attributeLocations\n this.primitiveType = options.primitiveType\n\n this.uniformMap = options.uniformMap\n\n this.vertexShaderSource = options.vertexShaderSource\n this.fragmentShaderSource = options.fragmentShaderSource\n\n this.rawRenderState = options.rawRenderState\n this.framebuffer = options.framebuffer\n\n this.outputTexture = options.outputTexture\n\n this.autoClear = Cesium.defaultValue(options.autoClear, false)\n this.preExecute = options.preExecute\n\n this.show = true\n this.commandToExecute = undefined\n this.clearCommand = undefined\n if (this.autoClear) {\n this.clearCommand = new Cesium.ClearCommand({\n color: new Cesium.Color(0.0, 0.0, 0.0, 0.0),\n depth: 1.0,\n framebuffer: this.framebuffer,\n pass: Cesium.Pass.OPAQUE\n })\n }\n }\n\n createCommand(context) {\n switch (this.commandType) {\n case 'Draw': {\n const vertexArray = Cesium.VertexArray.fromGeometry({\n context: context,\n geometry: this.geometry,\n attributeLocations: this.attributeLocations,\n bufferUsage: Cesium.BufferUsage.STATIC_DRAW\n })\n\n const shaderProgram = Cesium.ShaderProgram.fromCache({\n context: context,\n attributeLocations: this.attributeLocations,\n vertexShaderSource: this.vertexShaderSource,\n fragmentShaderSource: this.fragmentShaderSource\n })\n\n const renderState = Cesium.RenderState.fromCache(this.rawRenderState)\n return new Cesium.DrawCommand({\n owner: this,\n vertexArray: vertexArray,\n primitiveType: this.primitiveType,\n uniformMap: this.uniformMap,\n modelMatrix: Cesium.Matrix4.IDENTITY,\n shaderProgram: shaderProgram,\n framebuffer: this.framebuffer,\n renderState: renderState,\n pass: Cesium.Pass.OPAQUE\n })\n }\n case 'Compute': {\n return new Cesium.ComputeCommand({\n owner: this,\n fragmentShaderSource: this.fragmentShaderSource,\n uniformMap: this.uniformMap,\n outputTexture: this.outputTexture,\n persists: true\n })\n }\n }\n }\n\n setGeometry(context, geometry) {\n this.geometry = geometry\n const vertexArray = Cesium.VertexArray.fromGeometry({\n context: context,\n geometry: this.geometry,\n attributeLocations: this.attributeLocations,\n bufferUsage: Cesium.BufferUsage.STATIC_DRAW\n })\n this.commandToExecute.vertexArray = vertexArray\n }\n\n update(frameState) {\n if (!this.show) {\n return\n }\n\n if (!Cesium.defined(this.commandToExecute)) {\n this.commandToExecute = this.createCommand(frameState.context)\n }\n\n if (Cesium.defined(this.preExecute)) {\n this.preExecute()\n }\n\n if (Cesium.defined(this.clearCommand)) {\n frameState.commandList.push(this.clearCommand)\n }\n frameState.commandList.push(this.commandToExecute)\n }\n\n isDestroyed() {\n return false\n }\n\n destroy() {\n if (Cesium.defined(this.commandToExecute)) {\n this.commandToExecute.shaderProgram = this.commandToExecute.shaderProgram && this.commandToExecute.shaderProgram.destroy()\n }\n return Cesium.destroyObject(this)\n }\n}\n\nexport default CustomPrimitive\n"],"names":[],"mappings":"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"}