// luma.gl // SPDX-License-Identifier: MIT // Copyright (c) vis.gl contributors // shadertools exports /** * Marks GLSL shaders for syntax highlighting: glsl`...` * Install https://marketplace.visualstudio.com/items?itemName=boyswan.glsl-literal */ export type {PlatformInfo} from './lib/shader-assembly/platform-info'; export type {ShaderBindingDebugRow} from './lib/shader-assembly/wgsl-binding-debug'; // ShaderModules export type {ShaderModule} from './lib/shader-module/shader-module'; export type {ShaderPass} from './lib/shader-module/shader-pass'; export type {ShaderModuleUniformValue, UniformTypes} from './lib/utils/uniform-types'; export {initializeShaderModule, initializeShaderModules} from './lib/shader-module/shader-module'; export {getShaderModuleUniforms} from './lib/shader-module/shader-module'; export {getShaderModuleDependencies} from './lib/shader-module/shader-module-dependencies'; export {checkShaderModuleDeprecations} from './lib/shader-module/shader-module'; export type { GLSLUniformBlockInfo, ShaderModuleUniformLayoutStage, ShaderModuleUniformLayoutValidationResult } from './lib/shader-module/shader-module-uniform-layout'; export { getGLSLUniformBlocks, getShaderModuleUniformBlockFields, getShaderModuleUniformBlockName, getShaderModuleUniformLayoutValidationResult, validateShaderModuleUniformLayout, warnIfGLSLUniformBlocksAreNotStd140 } from './lib/shader-module/shader-module-uniform-layout'; export {getShaderModuleSource} from './lib/shader-assembly/assemble-shaders'; export {resolveModules as _resolveModules} from './lib/shader-module/shader-module-dependencies'; export {getDependencyGraph as _getDependencyGraph} from './lib/shader-module/shader-module-dependencies'; // ShaderAssembler export {ShaderAssembler} from './lib/shader-assembler'; export type {ShaderHook} from './lib/shader-assembly/shader-hooks'; export type {ShaderInjection} from './lib/shader-assembly/shader-injections'; // SHADER HELPERS // Shader source introspection export {getShaderInfo} from './lib/glsl-utils/get-shader-info'; export { getQualifierDetails, getPassthroughFS, typeToChannelSuffix, typeToChannelCount, convertToVec4 } from './lib/glsl-utils/shader-utils'; // EXPERIMENTAL - Do not use in production applications export type {ShaderGenerationOptions} from './lib/shader-generator/generate-shader'; export {generateShaderForModule} from './lib/shader-generator/generate-shader'; export {capitalize} from './lib/shader-generator/utils/capitalize'; // TEST EXPORTS - Do not use in production applications export {preprocess} from './lib/preprocessor/preprocessor'; export {assembleGLSLShaderPair} from './lib/shader-assembly/assemble-shaders'; export {combineInjects} from './lib/shader-assembly/shader-injections'; // data utils export {toHalfFloat, fromHalfFloat} from './modules/math/fp16/fp16-utils'; export {fp64ify, fp64LowPart, fp64ifyMatrix4} from './modules/math/fp64/fp64-utils'; export { normalizeByteColor3, normalizeByteColor4, resolveUseByteColors } from './lib/color/normalize-byte-colors'; // math libraries export {random} from './modules/math/random/random'; export {fp32} from './modules/math/fp32/fp32'; export {fp64, fp64arithmetic} from './modules/math/fp64/fp64'; export type {FloatColorsProps, FloatColorsUniforms} from './modules/color/float-colors'; export {floatColors} from './modules/color/float-colors'; // engine shader modules // projection // export type {ProjectionUniforms} from './modules/engine/project/project'; // export {projection} from './modules/engine/project/project'; export type {PickingProps, PickingUniforms} from './modules/engine/picking/picking'; export {picking} from './modules/engine/picking/picking'; export {skin} from './modules/engine/skin/skin'; // lighting export { type Light, type AmbientLight, type PointLight, type SpotLight, type DirectionalLight, type LightingLightUniform } from './modules/lighting/lights/lighting'; export type {LightingProps, LightingUniforms} from './modules/lighting/lights/lighting'; export {lighting} from './modules/lighting/lights/lighting'; export type {IBLBindings} from './modules/lighting/ibl/ibl'; export {ibl} from './modules/lighting/ibl/ibl'; export {dirlight} from './modules/lighting/no-material/dirlight'; export type {LambertMaterialProps} from './modules/lighting/lambert-material/lambert-material'; export {lambertMaterial} from './modules/lighting/lambert-material/lambert-material'; export type {GouraudMaterialProps} from './modules/lighting/gouraud-material/gouraud-material'; export {gouraudMaterial} from './modules/lighting/gouraud-material/gouraud-material'; export type {PhongMaterialProps} from './modules/lighting/phong-material/phong-material'; export {phongMaterial} from './modules/lighting/phong-material/phong-material'; export type { PBRMaterialBindings, PBRMaterialProps, PBRMaterialUniforms } from './modules/lighting/pbr-material/pbr-material'; export type { PBRSceneBindings, PBRSceneProps, PBRSceneUniforms } from './modules/lighting/pbr-material/pbr-scene'; export type {PBRProjectionProps} from './modules/lighting/pbr-material/pbr-projection'; export {pbrMaterial} from './modules/lighting/pbr-material/pbr-material'; export {pbrScene} from './modules/lighting/pbr-material/pbr-scene';