Skip to main content

Class: Material

Defined in: rendering/materials/material.ts:12

Extended by

Constructors

Constructor

new Material(vertexSourceName, fragmentSourceName, shaderStore, gl): Material

Defined in: rendering/materials/material.ts:18

Parameters

vertexSourceName

string

fragmentSourceName

string

shaderStore

ShaderStore

gl

WebGL2RenderingContext

Returns

Material

Properties

program

readonly program: WebGLProgram

Defined in: rendering/materials/material.ts:13

Methods

beforeBind()

protected beforeBind(_gl): void

Defined in: rendering/materials/material.ts:96

Called before binding the material to allow for custom behavior. Override this method in subclasses to implement custom logic.

Parameters

_gl

WebGL2RenderingContext

The WebGL2 rendering context passed into beforeBind.

Returns

void


bind()

bind(gl): void

Defined in: rendering/materials/material.ts:34

Binds the material (program, uniforms, textures).

Parameters

gl

WebGL2RenderingContext

Returns

void


convertToFloat32Array()

protected convertToFloat32Array(vector): Float32Array

Defined in: rendering/materials/material.ts:103

Converts a vector3 to a float32 array.

Parameters

vector

Vector3

Returns

Float32Array


setColorUniform()

setColorUniform(name, color): void

Defined in: rendering/materials/material.ts:78

Sets a color uniform as a float32 array using the color's RGBA values.

Parameters

name

string

color

Color

Returns

void


setUniform()

setUniform(name, value): void

Defined in: rendering/materials/material.ts:71

Sets a uniform value (number, vec2, matrix, texture, etc.).

Parameters

name

string

value

UniformValue

Returns

void


setVectorUniform()

setVectorUniform(name, vector): void

Defined in: rendering/materials/material.ts:85

Sets a vector2 or Vector3 uniform as a float32 array using the vector's elements.

Parameters

name

string

vector

Vector2 | Vector3

Returns

void