Class TVertexArrayObject

Unit

Declaration

type TVertexArrayObject = class(TComponent)

Description

Vertex array object. Wrapper over VAO, as defined by OpenGL >= 3.

Note that you can use this from multiple OpenGL(ES) contexts, it will automatically create and destroy VAOs specific to the current context. (As VAOs are not shared between OpenGL(ES) contexts, see https://stackoverflow.com/questions/55885139/what-is-shareable-between-opengl-contexts-and-how-to-enable-sharing .)

This does nothing if current OpenGL(ES) version doesn't support VAO.

Change the current VAO by RenderContext.CurrentVao. It is done done automatically by TGLSLAttribute.EnableArray, remember that VBOs (including GL_ELEMENT_ARRAY_BUFFER) must be bound within this VAO.

Source: src/base_rendering/castleglutils_vertex_array_object.inc (line 33).

Hierarchy

  • TObject
  • TPersistent
  • TComponent
  • TVertexArrayObject

Overview

Methods

Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;
Public constructor Create(AOwner: TComponent); override;
Public destructor Destroy; override;
Public function InternalHandle(const Context: TComponent): TGLVertexArrayObject;

Description

Methods

Protected procedure Notification(AComponent: TComponent; Operation: TOperation); override;

This item has no description.

Source: src/base_rendering/castleglutils_vertex_array_object.inc (line 40).

Public constructor Create(AOwner: TComponent); override;

This item has no description.

Source: src/base_rendering/castleglutils_vertex_array_object.inc (line 42).

Public destructor Destroy; override;

This item has no description.

Source: src/base_rendering/castleglutils_vertex_array_object.inc (line 43).

Public function InternalHandle(const Context: TComponent): TGLVertexArrayObject;

OpenGL VAO identifier, for given context (must be TRenderContext).

Source: src/base_rendering/castleglutils_vertex_array_object.inc (line 45).


Generated by PasDoc 0.17.0.snapshot.