コンテンツにスキップ

Material<T>

マテリアル

Extended by

Type parameters

Type parameter Value
T unknown

Constructors

new Material()

new Material<T>(glenv, vs_code, fs_code, render_target_tracker?): Material<T>

Parameters

Parameter Type Description
glenv GLEnv WebGL 環境
vs_code string 頂点シェーダのソースコード
fs_code string フラグメントシェーダのソースコード
render_target_tracker? RenderTargetTracker<T> -

Returns

Material<T>

Properties

_program

protected _program: WebGLProgram


glenv

protected readonly glenv: GLEnv


parameters

protected readonly parameters: Map<string, Parameter>


render_target_tracker

protected readonly render_target_tracker: RenderTargetTracker<T>

Methods

_setRenderId()

protected _setRenderId(id): void

Parameters

Parameter Type
id number

Returns

void


bindProgram()

bindProgram(): void

プログラムを束縛 フレーム毎に呼ばれる

Returns

void

See

[[Primitive.draw]]


bindTexture2D()

bindTexture2D(unit, texture): void

テクスチャをバインド

注意: 現行テクスチャ (Active Texture) も変更される。

Parameters

Parameter Type Description
unit number テクスチャユニット番号
texture WebGLTexture テクスチャオブジェクト

Returns

void


bindTexture3D()

bindTexture3D(unit, texture): void

3Dテクスチャをバインド

注意: 現行テクスチャ (Active Texture) も変更される。

Parameters

Parameter Type Description
unit number テクスチャユニット番号
texture WebGLTexture テクスチャオブジェクト

Returns

void


bindVertexAttribs()

bindVertexAttribs(mesh_attribs): void

頂点属性データを束縛

Parameters

Parameter Type Description
mesh_attribs AttributeBindInfoDict メッシュ側の頂点属性データ

Returns

void


dispose()

dispose(): void

リソースを破棄

Returns

void


disposeShader()

protected disposeShader(key): void

シェーダを破棄する

Parameters

Parameter Type Description
key string キー

Returns

void


isShaderAvailable()

protected isShaderAvailable(key): boolean

指定されたシェーダが定義済みであるかを返却します。

Parameters

Parameter Type Description
key string キー

Returns

boolean

シェーダが定義されている場合に true


registerShader()

protected registerShader(key, vs_code, fs_code): void

シェーダを登録する

Parameters

Parameter Type Description
key string キー
vs_code string 頂点シェーダのソースコード
fs_code string フラグメントシェーダのソースコード

Returns

void


registerUniform()

registerUniform(option): void

Uniformパラメータを登録します

Parameters

Parameter Type
option UniformOption

Returns

void


registerVertexAttribute()

registerVertexAttribute(option): void

Parameters

Parameter Type
option VertexAttributeOption

Returns

void


setBoolean()

setBoolean(name, value): void

真偽値パラメータを設定

Parameters

Parameter Type Description
name string 変数名
value boolean 真偽値

Returns

void


setFloat()

setFloat(name, value): void

float パラメータを設定

Parameters

Parameter Type Description
name string 変数名
value number float 値

Returns

void


setIVector3()

setIVector3(name, value): void

整数ベクトルパラメータを設定

Parameters

Parameter Type Description
name string 変数名
value Int32List 整数配列

Returns

void


setIVector3Array()

setIVector3Array(name, value): void

整数ベクトルパラメータを設定

Parameters

Parameter Type Description
name string 変数名
value number[] | Int32Array<ArrayBufferLike> 整数配列

Returns

void


setInteger()

setInteger(name, value): void

整数パラメータを設定

Parameters

Parameter Type Description
name string 変数名
value number 整数値

Returns

void


setIntegerArray()

setIntegerArray(name, value): void

整数パラメータを設定

Parameters

Parameter Type Description
name string 変数名
value number[] | Int32Array<ArrayBufferLike> 整数値

Returns

void


setMatrix()

setMatrix(name, value): void

行列パラメータを設定

Parameters

Parameter Type Description
name string 変数名
value Matrix 行列

Returns

void


setUniformValue()

setUniformValue(name, value): void

Uniformパラメータの値を更新します

Parameters

Parameter Type
name string
value any

Returns

void


setVector2()

setVector2(name, value): void

2次ベクトルパラメータを設定

Parameters

Parameter Type Description
name string 変数名
value Vector2 2次ベクトル

Returns

void


setVector2Array()

setVector2Array(name, value): void

2次ベクトルパラメータを設定

Parameters

Parameter Type Description
name string 変数名
value number[] | Float32Array<ArrayBufferLike> 2次ベクトル

Returns

void


setVector3()

setVector3(name, value): void

3次ベクトルパラメータを設定

Parameters

Parameter Type Description
name string 変数名
value Vector3 3次ベクトル

Returns

void


setVector4()

setVector4(name, value): void

4次ベクトルパラメータを設定

Parameters

Parameter Type Description
name string 変数名
value Vector4 4次ベクトル

Returns

void


updateMaterial()

updateMaterial(stage, primitive): void

マテリアルを更新 フレーム毎に呼ばれる

Parameters

Parameter Type
stage RenderStage
primitive Primitive

Returns

void

See

[[Primitive.draw]]


useShader()

protected useShader(key): void

シェーダを切り替える。 事前にシェーダを登録しておく([[Material.registerShader]] )。

Parameters

Parameter Type Description
key string キー

Returns

void