UNPKG

@deck.gl/core

Version:

deck.gl core library

49 lines (43 loc) 1.38 kB
// deck.gl // SPDX-License-Identifier: MIT // Copyright (c) vis.gl contributors import {fp32, ShaderModule} from '@luma.gl/shadertools'; import geometry from '../misc/geometry'; import {getUniformsFromViewport} from './viewport-uniforms'; import {projectWGSL} from './project.wgsl'; import {projectGLSL} from './project.glsl'; import type {ProjectProps, ProjectUniforms} from './viewport-uniforms'; const INITIAL_MODULE_OPTIONS = {}; function getUniforms(opts: ProjectProps | {} = INITIAL_MODULE_OPTIONS) { if ('viewport' in opts) { return getUniformsFromViewport(opts); } return {}; } export default { name: 'project', dependencies: [fp32, geometry], source: projectWGSL, vs: projectGLSL, getUniforms, uniformTypes: { wrapLongitude: 'f32', coordinateSystem: 'i32', commonUnitsPerMeter: 'vec3<f32>', projectionMode: 'i32', scale: 'f32', commonUnitsPerWorldUnit: 'vec3<f32>', commonUnitsPerWorldUnit2: 'vec3<f32>', center: 'vec4<f32>', modelMatrix: 'mat4x4<f32>', viewProjectionMatrix: 'mat4x4<f32>', viewportSize: 'vec2<f32>', devicePixelRatio: 'f32', focalDistance: 'f32', cameraPosition: 'vec3<f32>', coordinateOrigin: 'vec3<f32>', commonOrigin: 'vec3<f32>', pseudoMeters: 'f32' } // @ts-ignore TODO v9.1 } as const satisfies ShaderModule<ProjectProps, ProjectUniforms, {}>;