UNPKG

casc-cesium

Version:

Vue 3.x components for CesiumJS.

1 lines 7.72 kB
{"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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"}