Home Manual Reference Source
import S3GLShader from 's3js/src/gl/S3GLShader.js'
public class | source

S3GLShader

WebGLのシェーダー管理クラス。 頂点シェーダ/フラグメントシェーダのソースコード・型・GLオブジェクトを保持し、コンパイルや破棄、状態取得などの機能を提供します。 S3GLProgram 内部で利用され、単体では直接使わないことが多い設計です。

Constructor Summary

Public Constructor
public

WebGLシェーダーを初期化します。

Member Summary

Public Members
public

シェーダーのGLSLソースコード。GLSLコード文字列、または未ロード時はnull。

public

コンパイルや生成エラーが発生した場合にtrue。

public

shader: WebGLShader

コンパイル済みWebGLShaderオブジェクト。未生成またはエラー時はnull。

public

シェーダーの型。gl.VERTEX_SHADER(35633)かgl.FRAGMENT_SHADER(35632)、未設定時は-1。

public

GLシステムインスタンス

Method Summary

Public Methods
public

シェーダーリソースを解放し、GLオブジェクトを破棄します。 以後このシェーダーは再利用できません。

public

シェーダーのソースコードを取得します(GLSL文字列)。

public

getShader(): WebGLShader

シェーダーオブジェクト(GLShader)を取得します。 初回はGLSLの内容から自動でタイプ(頂点/フラグメント)判定とコンパイルを行います。 コンパイルエラー時や準備未完了時はnullを返します。

public

このシェーダーのタイプ(頂点orフラグメント)を返します。 準備ができていない場合やエラー時はnullになります。

public

このシェーダーでエラーが発生しているか判定します。

Private Methods
private

_init(sys: S3GLSystem, code: string)

内部初期化処理。 シェーダーソースの格納、コードの取得(URLならダウンロード)、GLオブジェクト初期化などを行います。

Public Constructors

public constructor(sys: S3GLSystem, code: string) source

WebGLシェーダーを初期化します。

Params:

NameTypeAttributeDescription
sys S3GLSystem

GLシステムインスタンス(GLコンテキスト・コンパイル補助などに必要)

code string

シェーダーのGLSLソースコード、またはGLSLファイルのURL(1行の場合は自動判別)

Public Members

public code: string | null source

シェーダーのGLSLソースコード。GLSLコード文字列、または未ロード時はnull。

public is_error: boolean source

コンパイルや生成エラーが発生した場合にtrue。

public shader: WebGLShader source

コンパイル済みWebGLShaderオブジェクト。未生成またはエラー時はnull。

public sharder_type: number source

シェーダーの型。gl.VERTEX_SHADER(35633)かgl.FRAGMENT_SHADER(35632)、未設定時は-1。

public sys: S3GLSystem source

GLシステムインスタンス

Public Methods

public dispose(): boolean | null source

シェーダーリソースを解放し、GLオブジェクトを破棄します。 以後このシェーダーは再利用できません。

Return:

boolean | null

正常終了:true、GL未設定時:null

public getCode(): string | null source

シェーダーのソースコードを取得します(GLSL文字列)。

Return:

string | null

シェーダーソース。まだ取得できていない場合はnull

public getShader(): WebGLShader source

シェーダーオブジェクト(GLShader)を取得します。 初回はGLSLの内容から自動でタイプ(頂点/フラグメント)判定とコンパイルを行います。 コンパイルエラー時や準備未完了時はnullを返します。

Return:

WebGLShader (nullable: true)

コンパイル済みGLシェーダーオブジェクト、またはnull

public getShaderType(): number | null source

このシェーダーのタイプ(頂点orフラグメント)を返します。 準備ができていない場合やエラー時はnullになります。

Return:

number | null

gl.VERTEX_SHADER または gl.FRAGMENT_SHADER、未定義時は null

public isError(): boolean source

このシェーダーでエラーが発生しているか判定します。

Return:

boolean

エラー発生時はtrue

Private Methods

private _init(sys: S3GLSystem, code: string) source

内部初期化処理。 シェーダーソースの格納、コードの取得(URLならダウンロード)、GLオブジェクト初期化などを行います。

Params:

NameTypeAttributeDescription
sys S3GLSystem

GLシステムインスタンス(GLコンテキスト・コンパイル補助などに必要)

code string

シェーダーのGLSLソースコード、またはGLSLファイルのURL(1行の場合は自動判別)