Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ProgramLib

维护 shader 资源实例的全局管理器。

Hierarchy

  • ProgramLib

Index

Constructors

constructor

Properties

Protected _cache

_cache: Record<string, GFXShader>

Protected _templates

_templates: Record<string, IProgramInfo>

Methods

define

  • 根据 effect 信息注册 shader 模板。

    example
      // this object is auto-generated from your actual shaders
      let program = {
        name: 'foobar',
        glsl1: { vert: '...', frag: '...' },
        glsl3: { vert: '...', frag: '...' },
        defines: [
          { name: 'shadow', type: 'boolean', defines: [] },
          { name: 'lightCount', type: 'number', range: [1, 4], defines: [] }
        ],
        blocks: [{ name: 'Constants', binding: 0, members: [
          { name: 'color', type: 'vec4', count: 1, size: 16 }], defines: [], size: 16 }
        ],
        samplers: [],
        dependencies: { 'USE_NORMAL_TEXTURE': 'OES_standard_derivatives' },
      };
      programLib.define(program);

    Parameters

    Returns void

destroyShaderByDefines

  • destroyShaderByDefines(defines: IDefineMap): void

getGFXShader

getKey

  • getKey(name: string, defines: IDefineMap): number

getTemplate

hasProgram

  • hasProgram(name: string): boolean

Generated using TypeDoc