Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Renderbuffer

WebGL Renderbuffer implementation providing size accessors and requiring for bind, unbind, resize, validity, and initialization implementations.

@todo add usage example

Hierarchy

Implements

Index

Constructors

constructor

  • Object constructor, requires a context and a valid identifier.

    Parameters

    • context: Context

      Valid context to create the object for.

    • Optional identifier: undefined | string

      Meaningful name for identification of this instance.

    Returns Renderbuffer

Properties

Protected _context

_context: Context
see

context

Protected _height

_height: GLsizei
see

height

Protected _identifier

_identifier: string

Protected _internalFormat

_internalFormat: GLenum | undefined = undefined

Cached internal format of the renderbuffer for efficient resize.

Protected _object

_object: WebGLRenderbuffer | undefined
see

object

Protected _referenceCount

_referenceCount: number = 0

Number of references to this object. If at least a single reference was counted, this object can neither be initialized (and thus created) nor uninitialized (and thus deleted). The reference count is controlled via ref() and unref() functions.

Protected _valid

_valid: boolean = false
see

valid

Protected _width

_width: GLsizei
see

width

Static DEFAULT_RENDER_BUFFER

DEFAULT_RENDER_BUFFER: undefined = undefined

Default renderbuffer, e.g., used for unbind.

Accessors

bytes

  • get bytes(): GLsizei
  • Returns the number of bytes this object approximately allocates on the GPU.

    Returns GLsizei

context

height

  • get height(): GLsizei
  • Convenience accessor: returns the height of the texture object.

    Returns GLsizei

identifier

  • get identifier(): string
  • Every GPU asset that allocates memory should provide a human readable identifier for GPU allocation tracking and debugging purposes. Please note that the identifier might changed on initialization due to the generation and assignment of a unique identifier.

    Returns string

    • This assets identifier used for gpu allocation tracking and debugging.

initialized

  • get initialized(): boolean

internalFormat

  • get internalFormat(): GLenum
  • Readonly access to the internal format of the renderbuffer object. This can only be changed by re-initialization.

    Returns GLenum

object

  • get object(): WebGLRenderbuffer

size

  • Convenience getter for the 2-tuple containing the render buffer's width and height.

    see

    width

    see

    {@link heigth}

    Returns GLsizei2

valid

  • get valid(): boolean
  • Cached object status used to derive validity when initialized.

    Returns boolean

    • True if the object status is complete, false otherwise.

width

  • get width(): GLsizei
  • Convenience accessor: returns the width of the texture object.

    Returns GLsizei

Methods

Protected assertInitialized

  • assertInitialized(): void
  • Asserts the objects initialization status to be true. Note that the implementation is cached and forwarded to either an empty function when initialized and to an acutal assert(false) otherwise.

    Returns void

Protected assertUninitialized

  • assertUninitialized(): undefined
  • Asserts the objects initialization status to be false. Note that the implementation is cached and forwarded to either an empty function when uninitialized and to an acutal assert(false) otherwise.

    Returns undefined

bind

  • bind(): void

Protected create

  • create(width: GLsizei, height: GLsizei, internalFormat: GLenum): WebGLRenderbuffer | undefined
  • Create a renderbuffer object on the GPU.

    Parameters

    • width: GLsizei

      Initial width of the renderbuffer.

    • height: GLsizei

      Initial height of the renderbuffer.

    • internalFormat: GLenum

      Internal format of the renderbuffer data.

    Returns WebGLRenderbuffer | undefined

Protected delete

  • delete(): void

initialize

  • initialize(...args: any[]): boolean
  • override

    Ensure that an object handle is created at the point of initialization. When overriding this function super.initialize() has to be invoked immediately/first. Please note that initialization of invalid object raises an assertion in order to prevent further actions without a valid WebGL object. After object creation the valid property is expected to be set accordingly.

    Parameters

    • Rest ...args: any[]

    Returns boolean

ref

  • ref(): void

resize

  • resize(width: GLsizei, height: GLsizei, bind?: boolean, unbind?: boolean): void
  • This should be used to implement efficient resize for all attachments.

    Parameters

    • width: GLsizei

      Targeted/new width of the renderbuffer in px.

    • height: GLsizei

      Targeted/new height of the renderbuffer in px.

    • Default value bind: boolean = false

      Allows to skip binding the renderbuffer (e.g., when binding is handled outside).

    • Default value unbind: boolean = false

      Allows to skip unbinding the renderbuffer (e.g., when binding is handled outside).

    Returns void

unbind

  • unbind(): void

uninitialize

  • uninitialize(): void
  • override

    Ensure that an object handle is deleted, invalidated, and its allocated GPU resources are set to zero. When overriding this function super.uninitialize() has to be invoked last/at the end. Note that an object cannot be uninitialized if it is referenced (reference count > 0).

    Returns void

unref

  • unref(): void

Static Protected assertInitializedFalse

Static Protected assertUninitializedFalse

Static assert_initialized

Static assert_uninitialized

Static initialize

  • Method decorator for initialization of Initializable inheritors. This decorator asserts the initialization status of the instance that is to be initialized, invokes its initialization with arbitrary number of parameters, and sets the initialization status to the initialization success (either false or true). In order to encourage the use of assertInitialized and assertUninitialized they are dynamically bound to either a static, always-failing assert or an empty/undefined function.

    Returns MethodDecorator

Static uninitialize

  • Method decorator for uninitialization of Initializable inheritors. This decorator asserts the initialization status of the instance that is to be uninitialized, invokes its uninitialization, and falsifies the initialization status. In order to encourage the use of assertInitialized and assertUninitialized they are dynamically bound to a static, always-failing assert and an empty/undefined function respectively.

    Returns MethodDecorator