Class enchant.gl.Shader
- Defined in: gl.enchant.js
Constructor Attributes | Constructor Name and Description |
---|---|
enchant.gl.Shader(vshader, fshader)
WebGLのシェーダプログラムを管理するクラス.
|
Field Attributes | Field Name and Description |
---|---|
フラグメントシェーダのソース
|
|
バーテックスシェーダのソース
|
Method Summary
Method Attributes | Method Name and Description |
---|---|
compile()
シェーダプログラムをコンパイルする.
|
|
destroy()
オブジェクトを破棄する.
|
|
シェーダプログラムにattribute変数をセットする.
|
|
setUniforms(params)
シェーダプログラムにuniform変数をセットする.
|
|
use()
シェーダプログラムを使用するように設定する.
|
Class Detail
enchant.gl.Shader(vshader, fshader)
WebGLのシェーダプログラムを管理するクラス.
バーテックスシェーダのソースとフラグメントシェーダのソースを渡すことでシェーダプログラムが作成される.
- Parameters:
- {String} vshader
- バーテックスシェーダのソース
- {String} fshader
- フラグメントシェーダのソース
Field Detail
{String}
fShaderSource
フラグメントシェーダのソース
{String}
vShaderSource
バーテックスシェーダのソース
Method Detail
-
compile()シェーダプログラムをコンパイルする. コンストラクタからシェーダソースを渡した場合は自動的にコンパイルされる.
var shader = new Shader(); // シェーダプログラムのソースを渡す. shader.vShaderSource = vert; shader.fShaderSource = frag; // コンパイル. shader.compile();
-
destroy()オブジェクトを破棄する.
-
setAttributes(値)シェーダプログラムにattribute変数をセットする. enchant.gl.Sprite3Dの内部などで使用される.
var shader = new Shader(vert, frag); shader.setAttributes({ aVertexPosition: indices, aNormal: normals });
- Parameters:
- {*} 値
-
setUniforms(params)シェーダプログラムにuniform変数をセットする. enchant.gl.Sprite3Dの内部などで使用される.
var shader = new Shader(vert, frag); shader.setUniforms({ uDiffuse: diffuse, uLightColor: lightColor });
- Parameters:
- {*} params
- 値
-
use()シェーダプログラムを使用するように設定する.