Options
Menu

Class ShaderRegisterCache

ShaderRegister Cache provides the usage management system for all registers during shading compilers.

Hierarchy

  • ShaderRegisterCache

Index

Constructors

constructor

  • Create a new ShaderRegisterCache object.

    Parameters

    Returns ShaderRegisterCache

Accessors

fragmentOutputRegister

  • The fragment output register.

    Returns ShaderRegisterElement

numUsedFragmentConstants

  • get (): number
  • The amount of used fragment constant registers.

    Returns number

numUsedStreams

  • get (): number
  • The amount of used vertex streams.

    Returns number

numUsedTextures

  • get (): number
  • The amount of used texture slots.

    Returns number

numUsedVaryings

  • get (): number
  • The amount of used varying registers.

    Returns number

numUsedVertexConstants

  • get (): number
  • The amount of used vertex constant registers.

    Returns number

Methods

addFragmentTempUsages

  • Marks a fragment temporary register as used, so it cannot be retrieved. The register won't be able to be used until removeUsage has been called usageCount times again.

    Parameters

    • register: ShaderRegisterElement

      The register to mark as used.

    • usageCount: number

      The amount of usages to add.

    Returns void

addVertexTempUsages

  • Marks a vertex temporary register as used, so it cannot be retrieved. The register won't be able to be used until removeUsage has been called usageCount times again.

    Parameters

    • register: ShaderRegisterElement

      The register to mark as used.

    • usageCount: number

      The amount of usages to add.

    Returns void

dispose

  • dispose(): void
  • Disposes all resources used.

    Returns void

getFreeFragmentConstant

  • Retrieve an available fragment constant register

    Returns ShaderRegisterElement

getFreeFragmentSingleTemp

  • Retrieve a single component from a fragment temporary register that's still available.

    Returns ShaderRegisterElement

getFreeFragmentVectorTemp

  • Retrieve an entire fragment temporary register that's still available. The register won't be able to be used until removeUsage has been called usageCount times again.

    Returns ShaderRegisterElement

getFreeTextureReg

  • Retrieve an available texture register

    Returns ShaderRegisterElement

getFreeVarying

  • Retrieve an available varying register

    Returns ShaderRegisterElement

getFreeVertexAttribute

  • Retrieve an available vertex attribute register

    Returns ShaderRegisterElement

getFreeVertexConstant

  • Retrieve an available vertex constant register

    Returns ShaderRegisterElement

getFreeVertexSingleTemp

  • Retrieve a single component from a vertex temporary register that's still available.

    Returns ShaderRegisterElement

getFreeVertexVectorTemp

  • Retrieve an entire vertex temporary register that's still available.

    Returns ShaderRegisterElement

removeFragmentTempUsage

  • Removes a usage from a fragment temporary register. When usages reach 0, the register is freed again.

    Parameters

    Returns void

removeVertexTempUsage

  • Removes a usage from a vertex temporary register. When usages reach 0, the register is freed again.

    Parameters

    Returns void

reset

  • reset(): void
  • Resets all registers.

    Returns void

Generated using TypeDoc