import { ShaderAssembler } from '@luma.gl/shadertools';
import { gouraudLighting, phongLighting } from '@luma.gl/shadertools';
import project from './project/project';
import project32 from './project32/project32';
import shadow from './shadow/shadow';
import picking from './picking/picking';
import { PipelineFactory } from '@luma.gl/engine';
const DEFAULT_MODULES = [project];
const SHADER_HOOKS = ['vs:DECKGL_FILTER_SIZE(inout vec3 size, VertexGeometry geometry)', 'vs:DECKGL_FILTER_GL_POSITION(inout vec4 position, VertexGeometry geometry)', 'vs:DECKGL_FILTER_COLOR(inout vec4 color, VertexGeometry geometry)', 'fs:DECKGL_FILTER_COLOR(inout vec4 color, FragmentGeometry geometry)'];
export function getShaderAssembler() {
  const shaderAssembler = ShaderAssembler.getDefaultShaderAssembler();

  for (const shaderModule of DEFAULT_MODULES) {
    shaderAssembler.addDefaultModule(shaderModule);
  }

  for (const shaderHook of SHADER_HOOKS) {
    shaderAssembler.addShaderHook(shaderHook);
  }

  return shaderAssembler;
}
export function getPipelineFactory(device) {
  const pipelineFactory = PipelineFactory.getDefaultPipelineFactory(device);
  return pipelineFactory;
}
export { picking, project, project32, gouraudLighting, phongLighting, shadow };
//# sourceMappingURL=index.js.map