Options
Menu

Interface ILightingChunk

LightingChunkBase provides an abstract base method for shading methods that uses lights. Used for diffuse and specular shaders only.

Hierarchy

Implemented by

Index

Properties

_modulateFunction

_modulateFunction: function

A function that is exposed to wrappers in case the strength needs to be controlled

Type declaration

    • (targetReg: ShaderRegisterElement, registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string
    • Parameters

      • targetReg: ShaderRegisterElement
      • registerCache: ShaderRegisterCache
      • sharedRegisters: ShaderRegisterData

      Returns string

_totalLightColorReg

_totalLightColorReg: ShaderRegisterElement

chunkVO

chunkVO: ChunkVO

Methods

_activate

  • _activate(): void
  • Sets the render state for this method.

    internal

    Returns void

_cleanCompilationData

  • _cleanCompilationData(): void

_deactivate

  • _deactivate(): void
  • Clears the render state for this method.

    internal

    Returns void

_getFragmentCode

  • _getFragmentCode(targetReg: ShaderRegisterElement, registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string
  • inheritdoc

    Parameters

    • targetReg: ShaderRegisterElement
    • registerCache: ShaderRegisterCache
    • sharedRegisters: ShaderRegisterData

    Returns string

_getFragmentCodePerLight

  • _getFragmentCodePerLight(lightDirReg: ShaderRegisterElement, lightColReg: ShaderRegisterElement, registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string
  • Get the fragment shader code that will generate the code relevant to a single light.

    Parameters

    • lightDirReg: ShaderRegisterElement

      The register containing the light direction vector.

    • lightColReg: ShaderRegisterElement

      The register containing the light colour.

    • registerCache: ShaderRegisterCache
    • sharedRegisters: ShaderRegisterData

    Returns string

_getFragmentCodePerProbe

  • _getFragmentCodePerProbe(cubeMapReg: ShaderRegisterElement, weightRegister: string, registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string
  • Get the fragment shader code that will generate the code relevant to a single light probe object.

    Parameters

    • cubeMapReg: ShaderRegisterElement

      The register containing the cube map for the current probe

    • weightRegister: string

      A string representation of the register + component containing the current weight

    • registerCache: ShaderRegisterCache
    • sharedRegisters: ShaderRegisterData

    Returns string

Private _getFragmentPreLightingCode

  • _getFragmentPreLightingCode(registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string
  • Get the fragment shader code that will be needed before any per-light code is added.

    Parameters

    • registerCache: ShaderRegisterCache
    • sharedRegisters: ShaderRegisterData

    Returns string

_getVertexCode

  • _getVertexCode(registerCache: ShaderRegisterCache, sharedRegisters: ShaderRegisterData): string
  • Get the vertex shader code for this method.

    internal

    Parameters

    • registerCache: ShaderRegisterCache
    • sharedRegisters: ShaderRegisterData

    Returns string

_initConstants

  • _initConstants(): void
  • Initializes unchanging shader constants using the data from a MethodVO.

    internal

    Returns void

_initVO

  • Initializes the properties for a MethodVO, including register and texture indices.

    internal

    Parameters

    Returns void

_isUsed

  • _isUsed(): boolean

_reset

  • Resets the compilation state of the method.

    internal

    Parameters

    Returns void

_setRenderState

  • _setRenderState(renderable: GL_RenderableBase, projection: ProjectionBase): void
  • Sets the render state for a single renderable.

    internal

    Parameters

    • renderable: GL_RenderableBase

      The renderable currently being rendered.

    • projection: ProjectionBase

    Returns void

_usesTangentSpace

  • _usesTangentSpace(): boolean

addEventListener

  • addEventListener(type: string, listener: function): any
  • Add an event listener

    method

    addEventListener

    Parameters

    • type: string
    • listener: function
        • (event: EventBase): void
        • Parameters

          • event: EventBase

          Returns void

    Returns any

dispatchEvent

  • dispatchEvent(event: EventBase): any
  • Dispatch an event

    method

    dispatchEvent

    Parameters

    • event: EventBase

    Returns any

hasEventListener

  • hasEventListener(type: string, listener?: function): boolean
  • check if an object has an event listener assigned to it

    method

    hasListener

    Parameters

    • type: string
    • Optional listener: function
        • (event: EventBase): void
        • Parameters

          • event: EventBase

          Returns void

    Returns boolean

removeEventListener

  • removeEventListener(type: string, listener: function): any
  • Remove an event listener

    method

    removeEventListener

    Parameters

    • type: string
    • listener: function
        • (event: EventBase): void
        • Parameters

          • event: EventBase

          Returns void

    Returns any

Generated using TypeDoc