# Class CullingMaterial`Abstract`

#### Hierarchy (View Summary)

- ShaderMaterial
  - CullingMaterial
    - GpuPickingMaterial
    - CustomDepthMaterial

##### Index

### Constructors

constructor

### Properties

diffuseTexture
isDirty
propertiesTexture?

### Accessors

visualSettings

### Methods

bindFunction
getFragmentSource
getUniformsAndDefinesAndSamplers
getVertexSource
isReadyForSubMesh
updateShader

## Constructors

### constructor

- new CullingMaterial(
  name: string,
  scene: Scene,
  _renderingInfo: ProductMeshesGroupRenderInfo,
  options: Partial<IShaderMaterialOptions>,
  _writeColorBlending: boolean,
  _excludeIgnoreDepthWriteCuttingPlanes: boolean,
  ): CullingMaterial

  #### Parameters

  - name: string
  - scene: Scene
  - _renderingInfo: ProductMeshesGroupRenderInfo
  - options: Partial<IShaderMaterialOptions>
  - _writeColorBlending: boolean
  - _excludeIgnoreDepthWriteCuttingPlanes: boolean

  #### Returns CullingMaterial

  Overrides ShaderMaterial.constructor

## Properties

### `Abstract` `Readonly` diffuseTexture

diffuseTexture: LazyResizableRawTexture

### `Protected` isDirty

isDirty: boolean = true

### `Optional` `Abstract` `Readonly` propertiesTexture

propertiesTexture?: LazyResizableRawTexture

## Accessors

### `Protected` visualSettings

- get visualSettings(): PictureSettings

  #### Returns PictureSettings

## Methods

### bindFunction

- bindFunction(mesh: AbstractMesh): void

  #### Parameters

  - mesh: AbstractMesh

  #### Returns void

### `Abstract` getFragmentSource

- getFragmentSource(): string

  #### Returns string

### getUniformsAndDefinesAndSamplers

- getUniformsAndDefinesAndSamplers(): UniformsAndDefinesAndSamplers

  #### Returns UniformsAndDefinesAndSamplers

### `Abstract` getVertexSource

- getVertexSource(): string

  #### Returns string

### isReadyForSubMesh

- isReadyForSubMesh(
  mesh: AbstractMesh,
  subMesh: SubMesh,
  useInstances: boolean,
  ): boolean

  Specifies that the submesh is ready to be used

  #### Parameters

  - mesh: AbstractMesh

    defines the mesh to check

  - subMesh: SubMesh

    defines which submesh to check

  - useInstances: boolean

    specifies that instances should be used

  #### Returns boolean

  a boolean indicating that the submesh is ready or not

  Overrides ShaderMaterial.isReadyForSubMesh

### updateShader

- updateShader(): void

  #### Returns void