WebGLリファレンス

付録
B
WebGLリファレンス
WebGL Reference
付録B WebGLリファレンス
B.1 WebGL APIリファレンス
この付録は、WebGL JavaScript APIのすべての関数、その引数、戻り値を簡単に説明し、API
の概要を示す。WebGLとOpenGL ES 2 APIの詳細は、http://www.khronos.org/registry/
webgl/specs/1.0/のWebGL仕 様 書、http://www.khronos.org/registry/gles/のOpenGL
ES 2 仕様書を直接参照していただきたい。リストB.1 には、canvas要素を作ってWebGLコンテ
キストを手に入れるための概要を示してある。
リストB.1
WebGLコンテキストを作る
// canvas要素を作る
var canvas = document.createElement("canvas");
// キャンバスをドキュメントに追加する
document.body.appendChild(canvas);
// いくつかのパラメータを設定する
var parms = {
alpha : true,
stencil : false,
antialias : true,
};
// webglコンテキストを作る
// 注意: "webgl"がサポートされるまでは、"experimental-webgl"を使う
var gl = canvas.getContext("webgl", parms);
表B-1には、指定できるパラメータをまとめてある。ブラウザは、alpha、premultipliedAlpha、
preserveDrawingBufferパラメータだけをサポートすればよいことに注意しよう。
表B-1 WebGLパラメータ
パラメータ
B-2
デフォルト
説明
alpha
true
描画バッファのアルファチャネルを有効にする。
depth
true
サポートされていてtrueなら深度バッファが有効にな
る。
stencil
false
サポートされていてtrueならステンシルバッファが有
効になる。
付録B WebGLリファレンス
(表B-1 続き)
antialias
false
サポートされていてtrueなら実装固有のテクニックを
使ったアンチエイリアスが有効になる。
premultipliedAlpha
true
trueなら描画バッファの乗算済みアルファが有効にな
preserveDrawingBuffer
false
サポートされていてtrueなら、明示的にクリアされる
まで描画バッファは維持される。
る。
▶ データ型
WebGLは、複数の数値型を含め、OpenGL ESで使われているデータ型を引き継いでいる。
これらの数値型は、JavaScriptならすべてnumber型で表現されるものだ。この付録でほかの
データ型が使われているのは、関数が期待している型を示しているだけである。表B-2 には、
この付録で使われるデータ型をまとめてある。
文字列、オブジェクト、数値のほか、WebGLはさまざまな値のためにシンボル定数も使って
いる。これらは、webglコンテキストオブジェクトの大文字プロパティになっているので見分
けられる。この付録では、enumデータ型を使ってそれらの定数を参照する。
表B-2 データ型
型名
説明
enum
WebGLの列挙値。たとえば、gl.BUFFER_SIZE
int
符号付き整数値
uint
符号なし整数値
float
浮動小数点数値
メモ
表 B-2 のデータ型は、WebGL 仕様に記述されているものを単純化したものである。しかし、一般
にこれらの型は JavaScript では number 型に変換されるので、これらの型について気にする必要
はない。
B-3
付録B WebGLリファレンス
▶ 型付き配列
WebGLは、さまざまなデータ型を処理するために新しい型付き配列オブジェクトを使っている。
型付き配列の詳細は、http://www.khronos.org/registry/typedarray/specs/latest/
の仕様書を参照していただきたい。表B-3 には、ここで使う配列型をまとめてある。
表B-3 型付き配列
型
説明
Uint16Array
符号なし 16 ビット整数値
Uint32Array
符号なし 32 ビット整数値
Int32Array
符号付き 32 ビット整数値
Float32Array
32 ビット浮動小数点数値
▶ バッファ関数
表B-4 には、バッファオブジェクトの作成、削除、データの設定に関係のある関数をまとめ
てある。
表B-4 バッファ関数
関数
説明
gl.createBuffer()
新しいWebGLBufferオブジェクトを作って返す。
gl.deleteBuffer(
WebGLBufferオブジェクトを削除する。
WebGLBuffer buffer
)
gl.bindBuffer(
enum target,
WebGLBuffer buffer
)
B-4
引数のtargetにWebGLBufferをバインドする。
targetと し て 指 定 で き る 有 効 な 値 は、gl.ARRAY_BUFFERと
gl.ELEMENT_ARRAY_BUFFERである。
付録B WebGLリファレンス
(表B-4 続き)
gl.bufferData(
enum target,
Object data,
enum usage
)
引 数 のtargetに バ イ ン ド さ れ たWebGLBufferオ ブ ジ ェ ク ト の
デ ー タ を 保 存 す る。 第 2 引 数 は、ArrayBufferオ ブ ジ ェ ク ト、
ArrayBufferViewオ ブ ジ ェ ク ト、 デ ー タ の 初 期 サ イ ズ を 示 す
ulong値のどれかを指定できる。
usageと し て 指 定 で き る 有 効 な 値 は、gl.STREAM_DRAW、gl.
STATIC_DRAW、gl.DYNAMIC_DRAWである。
gl.bufferData(
enum target,
uint size,
enum usage
)
gl.bufferSubData(
enum target,
Object data,
enum usage
targetにバインドされたバッファオブジェクトのデータストアの
サ ブ セ ク シ ョ ン を 更 新 す る。data 引 数 は、ArrayBuffer、
ArrayBufferViewオブジェクトのどちらかを指定できる。
usage と し て 指 定 で き る 有 効 な 値 は、gl.STREAM_DRAW、
gl.STATIC_DRAW、gl.DYNAMIC_DRAWである。
)
gl.getBufferParameter(
enum target,
enum pname
引数のtargetにバインドされたバッファオブジェクトのパラメー
タの値を返す。nameとして指定できる有効な値は、gl.BUFFER_
SIZE、gl.BUFFER_USAGEである。
)
gl.isBuffer(
WebGLBuffer buffer
バッファがWebGLObjectで、gl.bindBuffer()ですでにターゲッ
トにバインドされているときにtrueを返す。
)
B-5
付録B WebGLリファレンス
▶ シェーダ
表B-5 には、シェーダオブジェクトの作成、削除、コンパイルに関連する関数をまとめてあ
る。
表B-5 シェーダ関数
関数
gl.createShader(
enum type
)
gl.deleteShader(
WebGLShader shader
説明
新しいWebGLShaderオブジェクトを返す。
typeと し て 指 定 で き る 有 効 な 値 は、gl.FRAGMENT_SHADERと
gl.VERTEX_SHADERである。
引数のWebGLShaderオブジェクトを削除する。削除ステータスは、
gl.DELETE_STATUSパラメータに保存される。
)
gl.shaderSource(
WebGLShader shader,
引数のWebGLShaderオブジェクトにGLSLソースコードを設定す
る。
string source
)
gl.getShaderSource(
WebGLShader shader
引数のWebGLShaderオブジェクトのGLSLソースコードをstring
として返す。
)
gl.compileShader(
WebGLShaderオブジェクトをコンパイルする。
WebGLShader shader
)
gl.getShaderInfoLog(
WebGLShader shader
引数のWebGLShaderオブジェクトの情報ログ(コンパイルエラーを
含む)をstringとして返す。
)
gl.isShader(
WebGLShader shader
シェーダがまだ削除されていないWebGLShaderオブジェクトなら
trueを返す。そうでなければfaleを返す。
)
gl.getShaderParameter(
WebGLShader shader,
enum pname
)
B-6
引数のWebGLShaderオブジェクトのパラメータ値を返す。pname
として指定できる有効な値は、gl.SHADER_TYPE、gl.DELETE_
STATUS、gl.COMPILE_STATUSである。
付録B WebGLリファレンス
▶ プログラムオブジェクト
表B-6 には、プログラムオブジェクトの作成、削除、リンクに関連する関数をまとめてある。
表B-6 プログラムオブジェクト関数
関数
説明
gl.createProgram()
新しいWebGLProgramオブジェクトを作って返す。
gl.deleteProgram(
引数のWebGLProgramオブジェクトを削除する。削除ステータス
は、gl.DELETE_STATUSパラメータに保存される。
WebGLProgram program
)
gl.linkProgram(
WebGLProgram program
)
gl.getProgramInfoLog(
WebGLProgram program
引数のWebGLProgramオブジェクトをリンクし、プログラマブル
頂点、フラグメントプロセッサの実行可能コードを作る。ステータ
スは、gl.LINK_STATUSパラメータに保存される。
引数のWebGLProgramオブジェクトの情報ログ(リンカエラーを
含む)を文字列として返す。
)
gl.validateProgram(
WebGLProgram program
引数のWebGLProgramオブジェクトをバリデートし、ステータス
をgl.VALIDATE_STATUSパラメータに保存する。
)
gl.attachShader(
WebGLProgram program,
WebGLShader shader
引数のWebGLProgramオブジェクトにWebGLShaderオブジェクト
をアタッチする。アタッチされたシェーダの数は、gl.ATTACHED_
SHADERSパラメータに保存される。
)
gl.detachShader(
WebGLProgram program,
引数のWebGLProgramオブジェクトからWebGLShaderオブジェ
クトをデタッチする。
WebGLShader shader
)
gl.getAttachedShaders(
WebGLProgram program
引 数 のWebGLProgramオ ブ ジ ェ ク ト に ア タ ッ チ さ れ て い る
WebGLShaderオブジェクトを格納する配列を返す。
)
gl.getActiveAttrib(
WebGLProgram program,
uint index
引数のWebGLProgramオブジェクトのindexの位置にある頂点属
性についての情報を返す。
戻り値は、size、type、nameプロパティを持つWebGLActiveInfo
オブジェクトである。
)
B-7
付録B WebGLリファレンス
(表B-6 続き)
gl.getActiveUniform(
WebGLProgram program,
引 数 のWebGLProgramオ ブ ジ ェ ク ト のindexの 位 置 に あ る
Uniform変数についての情報を返す。
uint index
戻り値は、size、type、nameプロパティを持つWebGLActiveInfo
オブジェクトである。
gl.useProgram(
現在のレンダリングのために指定されたWebGLProgramオブジェ
クトをアクティブにする。
)
WebGLProgram program
)
gl.isProgram(
WebGLProgram program
programがまだ削除されていないWebGLProgramオブジェクト
ならtrueを返す。そうでなければfalseを返す。
)
gl.getProgramParameter(
WebGLProgram program,
enum pname
)
引数のWebGLProgramオブジェクトのパラメータ値を返す。
nameと し て 指 定 で き る 有 効 な 値 は、gl.DELETE_STATUS、
gl.LINK_STATUS、gl.VALIDATE_STATUS、
gl.ATTACHED_SHADERS、gl.ACTIVE_UNIFORMS、
gl.ACTIVE_ATTRIBUTESである。
▶ Uniform変数
表B-7 には、Uniform変数へのアクセス、値の設定に関連する関数をまとめてある。
表B-7 Uniform変数関数
関数
gl.getUniformLocation(
WebGLProgram program,
説明
引数のWebGLProgramオブジェクトの指定された名前
のUniform変数の位置を指すWebGLUniformLocation
オブジェクトを返す。
string name
)
gl.getUniform(
WebGLProgram program,
引 数 のWebGLProgramオ ブ ジ ェ ク ト の 指 定 さ れ た
locationにあるUniform変数の値を返す。戻り値の型
は、Uniform変数の型によって決まる。
WebGLUniformLocation location
)
gl.uniform[1234][fi](
WebGLUniformLocation location,
...
)
B-8
引 数 のWebGLProgramオ ブ ジ ェ ク ト の 指 定 さ れ た
locationにあるUniform変数に値を設定する。
例:
gl.uniform1i(location, 17);
gl.uniform3f(location, 1.5, 2.3, 3.7);
付録B WebGLリファレンス
(表B-7 続き)
gl.uniform[1234][fi]v(
WebGLUniformLocation location,
Array value
現 在 のWebGLProgramオ ブ ジ ェ ク ト の 指 定 さ れ た
locationにあるUniform変数の値を設定する。
例:
gl.uniform3fv(location, new
)
Float32Array([
0.5, -2.0, 5.5,
6.2, 1.0, -2.5
]);
gl.uniformMatrix[234]fv(
WebGLUniformLocation location,
boolean transpose,
Float32Array value
)
現 在 のWebGLProgramオ ブ ジ ェ ク ト の 指 定 さ れ た
location に あ るUniform行 列 の 値 を 設 定 す る。
transpose引数には、falseを指定しなければなら
ない。必要なら、ロードする前に行列を手作業で転置
する必要がある。
例:
gl.uniformMatrix3fv(location, new
Float32Array([
1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 1.0
]);
▶ 頂点属性
表B-8 には、頂点属性を有効にしたり、値を設定したりすることに関連する関数をまとめて
ある。
表B-8 頂点属性関数
関数
gl.enableVertexAttribArray(
説明
indexの位置の頂点属性を有効にする
uint index
)
gl.disableVertexAttribArray(
indexの位置の頂点属性を無効にする。
uint index
)
B-9
付録B WebGLリファレンス
(表B-8 続き)
gl.getAttribLocation(
WebGLProgram program,
string name
)
引数のプログラムで指定された名前を持つ頂点属性の位置
を返す。
gl.bindAttribLocation(
WebGLProgram program,
uint index,
string name
)
引数のプログラムの指定されたindexに、nameという名前
の頂点属性をバインドする。
gl.getVertexAttrib(
uint index,
enum pname
)
指定されたindexの位置の頂点属性についての情報を返す。
pnameが指定するパラメータによって戻り値の型は変わる。
pnameと し て 指 定 で き る 有 効 な 値 は、gl.VERTEX_
ATTRIB_ARRAY_ENABLED 、 gl.VERTEX_ATTRIB_
ARRAY_SIZE、gl.VERTEX_ATTRIB_ARRAY_STRIDE、
gl.VERTEX_ATTRIB_ARRAY_TYPE 、 gl.VERTEX_
ATTRIB_ARRAY_NORMALIZED 、 gl.CURRENT_
VERTEX_ATTRIB 、 gl.VERTEX_ATTRIB_ARRAY_
BUFFER_BINDINGである。
gl.getVertexAttribOffset(
uint index,
enum pname
)
指定されたindexの位置の頂点属性を指すポインタのアド
レスを返す。pnameの値はgl.VERTEX_ATTRIB_ARRAY_
POINTERでなければならない。
gl.vertexAttrib[1234]f(
uint index,
...
)
gl.vertexAttrib[1234]fv(
uint index,
Float32Array values
)
gl.vertexAttribPointer(
uint index,
int size,
enum type,
boolean normalized,
int stride,
int offset
)
指定されたindexの位置の頂点属性に定数値を設定する。
例:
gl.vertexAttrib3f(index, 2.3, 5.4, 1.5);
指定されたindexの位置の頂点属性に定数値を設定する。
例:
gl.vertexAttrib3fv(index, [2.3, 5.4,
1.5]);
指定されたindexの頂点属性に、現在バインドされている
WebGLBufferを割り当てる。
size引数は、データの要素数を指定する。たとえば、vec3
なら 3 になる。1、2、3、4 のどれかでなければならない。
type引数は、データの型を指定し、BYTE、UNSIGNED_
BYTE、SHORT、UNSIGNED_SHORT、INT、UNSIGNED_
INT、FLOATのどれかでなければならない。
normalized引数は、値を[-1,1]の範囲に正規化すべきか
どうかを指定する。
stride引数は、1 つの頂点の先頭から次の頂点の先頭まで
のバイト数を指定する。データがタイトにパッキングされ
ている場合は、0 を指定してストライドを自動計算させるこ
とができる。
offsetは、先頭要素を指定する。
B-10
付録B WebGLリファレンス
▶ 描画
表B-9 には、canvas要素にジオメトリを描画することに関連する関数をまとめてある。
表B-9 描画関数
関数
gl.viewport(
int x,
int y,
説明
左 上 隅 が(x, y)で サ イ ズ がwidth×heightの 矩 形 を ビ ュ ー
ポートに設定する。
ビューポートは、コンテンツがレンダリングされる領域である。
int width,
int height
)
gl.drawArrays(
enum mode,
int first,
int count
)
gl.drawElements(
enum mode,
int count,
enum type,
現在バインドされているバッファの配列データからプリミティブ
をレンダリングする。
countは、レンダリングする要素数を指定する。firstは、レン
ダリングする最初の要素を指定する。
modeとして指定できる有効な値は、gl.POINTS、gl.LINES、
gl.LINE_LOOP、gl.LINE_STRIP、gl.TRIANGLES、gl.
TRIANGLE_STRIP、gl.TRIANGLE_FANである。
現在バインドされているバッファからプリミティブを描画する。
countは、レンダリングする要素数を指定する。offsetは、レ
ンダリングする最初の要素を指定する。
modeとして指定できる有効な値については、gl.drawArrays()
の項を参照していただきたい。
int offset
)
gl.flush()
バッファリングされたWebGLコマンドをただちに実行する。
gl.finish()
すべてのWebGLコマンドが実行され、終了するまで制御を返さない。
B-11
付録B WebGLリファレンス
▶ テクスチャ
表B-10 には、テクスチャの作成、削除、ロードに関連する関数をまとめてある。
表B-10 テクスチャ関数
関数
説明
gl.createTexture()
新しいWebGLTextureオブジェクトを返す。
gl.deleteTexture(
指定されたWebGLTextureオブジェクトを削除する。
WebGLTexture texture
)
gl.bindTexture(
enum target,
WebGLTexture texture
引数のtargetに指定されたWebGLTextureオブジェクトをバイ
ンドする。targetとして指定できる有効な値は、gl.TEXTURE_
2D、gl.TEXTURE_CUBE_MAPである。
)
gl.activeTexture(
enum texture
)
gl.generateMipmap(
enum target
)
gl.texImage2D(
enum target,
int level,
enum internalformat,
int width,
int height,
int border,
enum format,
enum type,
ArrayBufferView pixels
)
指定されたテクスチャユニットをアクティブ化する。textureとし
て指定できる有効な値は、n = gl.MAX_COMBINED_TEXTURE_
IMAGE_UNITSとして、gl.TEXTURE0からgl.TEXTUREnまで
である。
引数のtargetに現在バインドされているテクスチャのために
ミップマップを生成する。targetとして指定できる有効な値は、
gl.TEXTURE_2Dとgl.TEXTURE_CUBE_MAPである。
引数のtargetにバインドされたテクスチャにpixels配列のピク
セルデータをロードする。targetとして指定できる有効な値は、
gl.TEXTURE_2D、gl.TEXTURE_CUBE_MAP_POSITIVE_X、
gl.TEXTURE_CUBE_MAP_NEGATIVE_X 、 gl.TEXTURE_
CUBE_MAP_POSITIVE_Y 、 gl.TEXTURE_CUBE_MAP_
NEGATIVE_Y 、 gl.TEXTURE_CUBE_MAP_POSITIVE_Z 、
gl.TEXTURE_CUBE_MAP_NEGATIVE_Zである。
format、internalformatと し て 指 定 で き る 有 効 な 値 は、
gl.ALPHA、gl.RGB、gl.RGBA、gl.LUMINANCE、
gl.LUMINANCE_ALPHAである。
type引数は、pixelsにあるデータの型を示す。typeとして指
定 で き る 有 効 な 値 とtypeに 対 応 す るArrayBufferViewの 型
は、gl.UNSIGNED_BYTE(UInt8Array)、gl.UNSIGNED_
SHORT_4_4_4_4( UInt16Array )、 gl.UNSIGNED_
SHORT_5_5_5_1( UInt16Array )、 gl.UNSIGNED_
SHORT_5_6_5(UInt16Array)である。
borderの値は 0 でなければならない。levelの値は、ミップマッ
プレベルを示す。0 はもとのイメージを表す。
B-12
付録B WebGLリファレンス
(表B-10 続き)
gl.texImage2D(
enum target,
int level,
enum internalformat,
enum format,
enum type,
引数のtargetにバインドされたテクスチャにpixelsオブジェ
クトのピクセルデータをロードする。
pixelsオブジェクトは、img要素、canvas要素、video要素、
2Dキャンバスコンテキストのctx.getImageData()メソッド
などで作ったImageDataオブジェクトにすることができる。
ほかの引数については、gl.texImage2D()の項を参照していた
だきたい。
Object pixels
)
gl.texSubImage2D(
enum target,
int level,
int xoffset,
int yoffset,
引数のtargetにバインドされたテクスチャのサブリージョンに
ピクセルデータをロードする。
サブリージョンのサイズはwidth×heightである。位置(xoffset,
yoffset)は、サブリージョンの左上隅を指定する。
ほかの引数については、gl.texImage2D()の項を参照していた
だきたい。
int width,
int height,
enum format,
enum type,
ArrayBufferView pixels
)
gl.texSubImage2D(
enum target,
int level,
int xoffset,
int yoffset,
enum format,
enum type,
Object pixels
引数のtargetにバインドされたテクスチャのサブリージョンに
ピクセルデータをロードする。
位置(xoffset, yoffset)は、サブリージョンの左上隅を指定
する。
pixelsオブジェクトは、img要素、canvas要素、video要素、
2Dキャンバスコンテキストのctx.getImageData()メソッド
などで作ったImageDataオブジェクトにすることができる。
ほかの引数については、gl.texImage2D()の項を参照していた
だきたい。
)
gl.copyTexImage2D(
enum target,
int level,
enum internalformat,
引数のtargetにバインドされたテクスチャにフレームバッファ
のイメージデータをコピーする。
ほかの引数については、gl.texImage2D()の項を参照していた
だきたい。
int x,
int y,
int width,
int height,
int border
)
B-13
付録B WebGLリファレンス
(表B-10 続き)
gl.copyTexSubImage2D(
enum target,
int level,
引数のtargetにバインドされたテクスチャのサブリージョンに
フレームバッファのイメージデータをコピーする。
ほかの引数については、gl.texSubImage2D()の項を参照して
いただきたい。
int xoffset,
int yoffset,
int x,
int y,
int width,
int height
)
gl.isTexture(
WebGLTexture texture
テクスチャがgl.bindTexture()でターゲットにバインドされ
たWebGLTextureならtrueを返す。そうでなければfalseを返
す。
)
gl.texParameterf(
enum target,
enum pname,
float param
)
gl.texParameteri(
enum target,
enum pname,
int param
)
gl.getTexParameter(
enum target,
enum pname
)
B-14
引数のtargetにバインドされているテクスチャのためにテクス
チャパラメータを設定する。
targetとして指定できる有効な値は、gl.TEXTURE_2Dとgl.
TEXTURE_CUBE_MAPである。
pname が gl.TEXTURE_MIN_FILTER なら、 param は
gl.NEAREST 、 gl.LINEAR 、 gl.NEAREST_MIPMAP_
NEAREST、gl.LINEAR_MIPMAP_NEAREST、gl.NEAREST_
MIPMAP_LINEAR、gl.LINEAR_MIPMAP_LINEARの どれかで
なければならない。
pname が gl.TEXTURE_MIN_FILTERなら、param は gl.NEAREST
かgl.LINEARでなければならない。
pnameがgl.TEXTURE_WRAP_Sかgl.TEXTURE_WRAP_Tな ら、
paramはgl.REPEAT、gl.CLAMP_TO_EDGE、gl.MIRRORED_
REPEATのどれかでなければならない。
targetにバインドされているテクスチャのテクスチャパラメー
タを返す。
pnameとして指定できる有効な値については、gl.texParameter
[fi]()の項を参照。
付録B WebGLリファレンス
▶ ブレンド
表B-11 には、ブレンド式、関数に関連する関数をまとめてある。
表B-11 ブレンド関数
関数
gl.blendEquation(
enum mode
)
gl.blendEquationSeparate(
enum modeRGB,
enum modeAlpha
説明
ブレンド式を設定する。
modeとして指定できる有効な値は、gl.FUNC_ADD、gl.FUNC_
SUBTRACT、gl.FUNC_REVERSE_SUBTRACTである。
RGBとアルファとで別々にブレンド式を設定する。
modeとして指定できる有効な値については、gl.blendEquation()
の項を参照。
)
gl.blendFunc(
enum sfactor,
enum dfactor
)
ソース、デスティネーションブレンドファクタを設定する。
sfactor、dfactorとして指定できる有効な値は、gl.ZERO、
gl.ONE、gl.SRC_COLOR、gl.ONE_MINUS_SRC_COLOR、
gl.DST_COLOR、gl.ONE_MINUS_DST_COLOR、gl.SRC_
ALPHA、gl.ONE_MINUS_SRC_ALPHA、gl.DST_ALPHA、
gl.ONE_MINUS_DST_ALPHA 、 gl.CONSTANT_COLOR 、
gl.ONE_MINUS_CONSTANT_COLOR 、 gl.CONSTANT_
ALPHA、gl.ONE_MINUS_CONSTANT_ALPHAである。
sfactorについては、gl.SRC_ALPHA_SATURATEも使える。
定数のアルファと定数の色を同時に使うことはできない。
gl.blendFuncSeparate(
enum srcRGB,
enum dstRGB,
RGBとアルファとで別々にブレンドファクタを設定する。
ソース、デスティネーションファクタとして指定できる有効な値
については、gl.blendFunc()の項を参照。
enum srcAlpha,
enum dstAlpha
)
gl.blendColor(
定数のブレンド色を設定する。
float red,
float green,
float blue,
float alpha
)
B-15
付録B WebGLリファレンス
▶ ステンシルバッファ
表B-12 には、ステンシルバッファの関数、演算の設定に関連する関数をまとめてある。
表B-12 ステンシルバッファ関数
関数
gl.clearStencil(
int s
説明
ステンシルバッファをクリアするときに使われるステンシルイン
デックスを設定する。
)
gl.stencilFunc(
enum func,
int ref,
int mask
ステンシルテストに使われる関数と参照値を設定する。
関数として指定できる有効な値は、gl.NEVER、gl.LESS、gl.
EQUAL 、gl.LEQUAL 、gl.GREATER 、gl.NOTEQUAL 、gl.
GEQUAL、gl.ALWAYSである。
)
gl.stencilFuncSeparate(
enum face,
enum func,
int ref,
前面に出ているポリゴンと背後に隠れているポリゴンとで別々にス
テンシル関数と参照値を設定する。
faceと し て 指 定 で き る 有 効 な 値 は、gl.FRONT、gl.BACK、
gl.FRONT_AND_BACKである。
int mask
)
gl.stencilMask(
uint mask
ステンシルバッファへの個々のビットの出力を制御するマスクを設
定する。
)
gl.stencilMaskSeparate(
enum face,
uint mask
前面に出ているポリゴンと背後に隠れているポリゴンとで別々にス
テンシルマスクを設定する。
faceとして指定できる有効な値については、gl.stencilFuncSeparate()
の項を参照。
)
gl.stencilOp(
enum fail,
enum zfail,
enum zpass
)
B-16
ステンシルテストで使われる演算を設定する。
failはステンシルテストが不合格になったときに使われる演算で
ある。zfailは、ステンシルテストが合格になったものの深度テ
ストが不合格になったときに使われる演算である。zpassは、両
テストが合格になったときに使われる演算である。
すべての引数について、指定できる有効な値は、gl.ZERO、gl.
KEEP 、 gl.REPLACE 、 gl.INCR 、 gl.DECR 、 gl.INVERT 、
gl.INCR_WRAP、gl.DECR_WRAPである。
付録B WebGLリファレンス
(表B-12 続き)
gl.stencilOpSeparate(
enum face,
前面に出ているポリゴンと背後に隠れているポリゴンとで別々にス
テンシルテスト演算を設定する。
演算として指定できる有効な値については、See gl.stencilOp()
の項を参照。
enum fail,
enum zfail,
enum zpass
)
▶ 深度バッファ
表B-13 には、深度バッファの値の設定に関連した関数をまとめてある。
表B-13 深度バッファ関数
関数
gl.depthFunc(
enum func
)
説明
深度バッファ関数を設定する。
funcとして指定できる有効な値は、gl.NEVER, gl.LESS, gl.EQUAL,
gl.LEQUAL, gl.GREATER, gl.NOTEQUAL, gl.GEQUAL, and gl.ALWAYS
である。
gl.depthMask(
深度バッファへの書き込みを有効/無効にする。
boolean flag
)
gl.depthRange(
float zNear,
深度バッファの範囲を設定する。
zNearの値は、zFarよりも小さくなければならない。
float zFar
)
gl.clearDepth(
深度バッファをクリアするために使われる深度の値を設定する。
float depth
)
gl.polygonOffset(
float factor,
深度を計算するために使われるスケーリングファクタとオフセット単位を設
定する。
float units
)
▶ レンダリングバッファ
表B-14 には、レンダリングバッファの作成、削除、利用に関連する関数をまとめてある。
B-17
付録B WebGLリファレンス
表B-14 レンダリングバッファ関数
関数
説明
gl.createRenderbuffer()
新しいWebGLRenderBufferオブジェクトを返す。
gl.deleteRenderbuffer(
引数のWebGLRenderBufferオブジェクトを削除す
る。
WebGLRenderbuffer renderbuffer
)
gl.bindRenderbuffer(
enum target,
WebGLRenderbuffer renderbuffer
)
gl.renderbufferStorage(
enum target,
enum internalformat,
int width,
int height
)
gl.framebufferRenderbuffer(
enum target,
enum attachment,
enum renderbuffertarget,
WebGLRenderbuffer renderbuffer
)
WebGLRenderbuffer renderbuffer
)
gl.getRenderbufferParameter(
enum target,
enum pname
B-18
targetの値は、gl.RENDERBUFFERでなければな
らない。
現在バインドされているレンダリングバッファのため
にデータストアを初期化する。
width、height引数は、レンダリングバッファのサ
イズを指定する。
internalformatとして指定できる有効な値は、gl.
RGBA4、gl.RGB565、gl.RGB5_A1、gl.DEPTH_
COMPONENT16、gl.STENCIL_INDEX8である。
targetに現在バインドされているフレームバッファ
に指定されたWebGLRenderbufferオブジェクトを
アタッチする。
targetの値は、gl.RENDERBUFFERでなければなら
ない。
renderbuffertargetの値はgl.RENDERBUFFER
でなければならない。
attachmentとして指定できる有効な値は、gl.COLOR_
ATTACHMENT0、gl.DEPTH_ATTACHMENT、
gl.STENCIL_ATTACHMENT、gl.DEPTH_STENCIL_
ATTACHMENTである。
gl.isRenderbuffer(
)
指定されたtargetにWebGLRenderbufferオブジェ
クトをバインドする。
renderbufferがgl.bindRenderBuffer()でバ
インドされたWebGLRenderBufferオブジェクトな
らtrueを返す。そうでなければfalseを返す。
現在バインドされているレンダリングバッファのパラ
メータを返す。
pnameとして指定できる有効な値は、
gl.RENDERBUFFER_WIDTH、gl.RENDERBUFFER_
HEIGHT、gl.RENDERBUFFER_INTERNAL_FORMAT、
gl.RENDERBUFFER_RED_SIZE、
gl.RENDERBUFFER_GREEN_SIZE、
gl.RENDERBUFFER_BLUE_SIZE、
gl.RENDERBUFFER_ALPHA_SIZE、
gl.RENDERBUFFER_DEPTH_SIZE、
gl.RENDERBUFFER_STENCIL_SIZEである。
付録B WebGLリファレンス
▶ フレームバッファ
表B-15 には、フレームバッファの作成、削除、利用に関連する関数をまとめてある。
表B-15 フレームバッファ関数
関数
説明
gl.createFramebuffer()
新しいWebGLFramebufferオブジェクトを返す。
gl.deleteFramebuffer(
指定されたWebGLFramebufferオブジェクトを削除す
る。
WebGLFramebuffer framebuffer
)
gl.bindFramebuffer(
enum target,
引数のtargetに指定されたWebGLFramebufferオブ
ジェクトをバインドする。targetは、gl.FRAMEBUFFER
でなければならない。
WebGLFramebuffer framebuffer
)
gl.checkFramebufferStatus(
enum target
)
現在バインドされているフレームバッファの状態を返す。
戻り値は、gl.FRAMEBUFFER_COMPLETE、
gl.FRAMEBUFFER_INCOMPLETE_ATTACHMENT、
gl.FRAMEBUFFER_INCOMPLETE_MISSING_
ATTACHMENT、gl.FRAMEBUFFER_INCOMPLETE_
DIMENSIONS、gl.FRAMEBUFFER_UNSUPPORTEDの
なかのどれかである。
gl.isFramebuffer(
WebGLFramebuffer framebuffer
framebufferがgl.bindFrameBuffer()で バ イ ン
ドされたWebGLFramebufferオブジェクトならtrue
を返す。
)
gl.framebufferTexture2D(
enum target,
enum attachment,
enum textarget,
WebGLTexture texture,
int level
)
現在バインドされているフレームバッファに指定された
WebGLTextureオブジェクトをアタッチする。
attachmentと し て 指 定 で き る 有 効 な 値 に つ い て は、
gl.framebufferRenderbuffer()の項を参照。
textargetとして指定できる有効な値は
gl.TEXTURE_2D、gl.TEXTURE_CUBE_MAP_
POSITIVE_X、gl.TEXTURE_CUBE_MAP_
NEGATIVE_X、gl.TEXTURE_CUBE_MAP_
POSITIVE_Y、gl.TEXTURE_CUBE_MAP_
NEGATIVE_Y、gl.TEXTURE_CUBE_MAP_
POSITIVE_Z、gl.TEXTURE_CUBE_MAP_
NEGATIVE_Zである。
levelは 0 でなければならない。
B-19
付録B WebGLリファレンス
(表B-15 続き)
gl.getFramebufferAttachmentParameter(
enum target,
enum attachment,
enum pname
現在バインドされているフレームバッファのアタッチメ
ントパラメータを返す。
attachmentとして指定できる有効な値は、gl.COLOR_
ATTACHMENT0 、 gl.DEPTH_ATTACHMENT 、 gl.
STENCIL_ATTACHMENTである。
pnameとして指定できる有効な値は、
gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE、
gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME、
gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL、
gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_
MAP_FACEである。
)
gl.colorMask(
boolean red,
フレームバッファの赤、緑、青、アルファコンポーネント
の書き込みを有効/無効にする。
boolean green,
boolean blue,
boolean alpha
)
gl.readPixels(
int x,
int y,
int width,
int height,
enum format,
enum type,
フレームバッファからピクセルデータを読み出す。
x、y、width、heightは、読み出す矩形リージョンを
指定する。
format は gl.RGBA で な け れ ば な ら な い。type は
gl.UNSIGNED_BYTEでなければならない。
ピクセルデータはpixels配列にロードされる。typeの
gl.UNSIGNED_BYTEに合わせて、配列はUInt8Array
型でなければならない。
ArrayBufferView pixels
)
gl.pixelStorei(
enum pname,
any param
)
ピクセルストレージモードを設定する。paramのデータ
型は、パラメータによって変わる。
pname が gl.PACK_ALIGNMENT か gl.UNPACK_
ALIGNMENTなら、paramはintでなければならない。
pnameがgl.UNPACK_FLIP_Y_WEBGLかgl.UNPACK_
PREMULTIPLY_ALPHA_WEBGLなら、paramはboolean
でなければならない。
pname が gl.UNPACK_COLORSPACE_CONVERSION_
WEBGLなら、paramはgl.BROWSER_DEFAULT_WEBGL
かgl.NONEでなければならない。
B-20
付録B WebGLリファレンス
▶ その他の関数
表B-16 には、今までの分類に収まらない関数がまとめられている。
表B-16 その他の関数
関数
gl.enable(
enum cap
)
説明
機能を有効にする。
capとして指定できる有効な値は、gl.CULL_FACE、gl.BLEND、
gl.DITHER、gl.STENCIL_TEST、gl.DEPTH_TEST、
gl.SCISSOR_TEST、gl.POLYGON_OFFSET_FILL、
gl.SAMPLE_ALPHA_TO_COVERAGE、gl.SAMPLE_COVERAGE
である。
gl.disable(
enum cap
機 能 を 無 効 に す る。capと し て 指 定 で き る 値 に つ い て は、
gl.enable()の項を参照。
)
gl.isEnabled(
enum cap
)
gl.cullFace(
enum mode
)
gl.frontFace(
enum mode
)
gl.clear(
uint mask
)
指定された機能が有効ならtrueを返す。そうでなければfalse
を返す。capとして指定できる値については、gl.enable()の
項を参照。
フェースカリングモードを設定する。
modeと し て 指 定 で き る 有 効 な 値 は、gl.FRONT、gl.BACK、
gl.FRONT_AND_BACKである。
フェースカリングで使われる回転方向を設定する。
modeとして指定できる有効な値は、gl.CW(右回り)とgl.CCW
(左回り)である。
カラー、深度、ステンシルバッファをクリアする。
maskは、どのバッファをクリアするかを指定するビットマスク
である。
例:
gl.clear(
gl.DEPTH_BUFFER_BIT ||
gl.STENCIL_BUFFER_BIT ||
gl.COLOR_BUFFER_BIT
);
gl.clearColor(
カラーバッファをクリアするために使う色を設定する。
float red,
float green,
float blue,
float alpha
)
B-21
付録B WebGLリファレンス
(表B-16 続き)
gl.lineWidth(
レンダリングされる線の太さを設定する。
float width
)
gl.scissor(
int x,
int y,
シザーボックスを設定する。
x、yはシザーボックスの左上隅を指定する。width、height
はシザーボックスのサイズを指定する。
int width,
int height
)
gl.sampleCoverage(
float value,
マルチサンプルカバレッジパラメータを設定する。
invertは、カバレッジマスクを反転するかどうかを指定する。
boolean invert
)
gl.getError()
最後に実行したWebGLコマンドのエラーステータスを示すenum
値を返す。
戻り値は、 gl.INVALID_ENUM 、 gl.INVALID_VALUE 、
gl.INVALID_OPERATION、gl.OUT_OF_MEMORY、
gl.CONTEXT_LOST_WEBGL、gl.INVALID_FRAMEBUFFER_
OPERATIONのどれかになる。
gl.hint(
enum target,
enum mode
実装のヒントを設定する。
targetは、gl.GENERATE_MIPMAP_HINTでなければならな
い。
)
modeとして指定できる有効な値は、gl.DONT_CARE、gl.FASTEST、
gl.NICESTである。
gl.getSupportedExtensions()
サポートされているエクステンションを示す文字列配列を返す。
gl.getExtension(
nameというエクステンションがサポートされていればオブジェ
クトを返す。そうでなければ、nullを返す。
string name
)
gl.getContextAttributes()
webglコンテキストを作成したときに指定された
WebGLContextAttributesを返す。
gl.isContextLost()
たとえばモバイルデバイスで電源イベントが発生したなどの理由
でwebglコンテキストが失われ、作り直さなければならない場合
は、trueを返す。
gl.getParameter(
pnameと い う 名 前 のWebGLパ ラ メ ー タ の 値 を 返 す。 有 効 な
pnameの値は、表B-17 を参照。
enum pname
)
B-22
付録B WebGLリファレンス
▶ パラメータ
表B-17 には、gl.getParameter()メソッドでアクセスできるパラメータをまとめてある。
表B-17 パラメータ
パラメータ名
説明
gl.ACTIVE_TEXTURE
ア ク テ ィ ブ な テ ク ス チ ャ ユ ニ ッ ト を 示 す int 値。 表B-10 の
gl.activeTexture()を参照。
gl.ALIASED_LINE_
WIDTH_RANGE
エイリアス化された線の太さとしてサポートされている最小値と最大
値の 2 つの要素を持つFloat32Array。
gl.ALIASED_POINT_
SIZE_RANGE
エイリアス化された点のサイズとしてサポートされている最小値と最
大値の 2 つの要素を持つFloat32Array。
gl.ALPHA_BITS
現在のカラーバッファのアルファビットプレーンの数。
gl.ARRAY_BUFFER_
BINDING
現 在 gl.ARRAY_BUFFER タ ー ゲ ッ ト に バ イ ン ド さ れ て い る
WebGLBufferオブジェクト。表B-4 のgl.bindBuffer()を参照。
gl.BLEND
ブレンディングが有効かどうかを示す論理値。表B-16のgl.enable()
を参照。
gl.BLEND_COLOR
ブレンドカラーの赤、緑、青、アルファコンポーネントの 4 つの要素
を持つFloat32Array。表B-11 のgl.blendColor()を参照。
gl.BLEND_DST_ALPHA
デ ス テ ィ ネ ー シ ョ ン ア ル フ ァ ブ レ ン ド 関 数 のenum値。 表B-11 の
gl.blendFuncSeparate()を参照。
gl.BLEND_DST_RGB
デ ス テ ィ ネ ー シ ョ ンRGBブ レ ン ド 関 数 の enum 値。 表B-11 の
gl.blendFuncSeparate()を参照。
gl.BLEND_EQUATION_
ALPHA
アルファブレンド式のenum値。表B-11のgl.blendFuncSeparate()
を参照。
gl.BLEND_EQUATION_RGB
RGBブレンド式のenum値。表B-11 のgl.blendFuncSeparate()
を参照。
gl.BLEND_SRC_ALPHA
ソースアルファブレンド関数のenum値。表B-11のgl.blendFuncSeparate()
を参照。
gl.BLEND_SRC_RGB
ソースRGBブレンド関数のenum値。表B-11のgl.blendFuncSeparate()
を参照。
gl.BLUE_BITS
現在のカラーバッファの青ビットプレーンの数。
gl.COLOR_CLEAR_VALUE
カラーバッファをクリアするために使われる色の赤、緑、青、アルファ
コ ン ポ ー ネ ン ト の 4 つ の 要 素 を 持 つFloat32Array。 表B-16 の
gl.clearColor()を参照。
B-23
付録B WebGLリファレンス
(表B-17 続き)
B-24
gl.COLOR_WRITEMASK
カラーバッファの赤、緑、青、アルファコンポーネントへの書き込みが
有効かどうかを示す4個の論理値の配列。表B-15のgl.ColorMask()
を参照。
gl.COMPRESSED_
TEXTURE_FORMATS
WebGLは圧縮されたテクスチャ形式をサポートしないので、常に
null。
gl.CULL_FACE
フェースカリングが有効になっているかどうかを示す論理値。表B-16
のgl.enable()を参照。
gl.CULL_FACE_MODE
現在のフェースカリングモードを表すenum値。表B-16のgl.cullFace()
を参照。
gl.CURRENT_PROGRAM
アクティブなWebGLProgramオブジェクト。表B-6のgl.useProgram()
を参照。
gl.DEPTH_BITS
現在の深度バッファのビットプレーンの数。
gl.DEPTH_CLEAR_VALUE
深度バッファをクリアするために使われる深度値を示す浮動小数点数。
表B-13 のgl.clearDepth()を参照。
gl.DEPTH_FUNC
深度比較関数のenum値。B-13 のgl.depthFunc()を参照。
gl.DEPTH_RANGE
深度バッファの深度の範囲を示す 2 つの要素を持つFloat32Array。
B-13 のgl.depthRange()を参照。
gl.DEPTH_TEST
深度テストが有効になっているかどうかを示す論理値。表B-16 の
gl.enable()を参照。
gl.DEPTH_WRITEMASK
深度バッファへの書き込みが有効になっているかどうかを示す論理値。
表B-13 のgl.depthMask()を参照。
gl.DITHER
フラグメントディザが有効になっているかどうかを示す論理値。表
B-16 のgl.enable()を参照。
gl.ELEMENT_ARRAY_
BUFFER_BINDING
現在gl.ELEMENT_ARRAY_BUFFERターゲットにバインドされてい
るWebGLBufferオブジェクト。表B-4 のgl.bindBuffer()を参照。
gl.FRAMEBUFFER_
BINDING
現 在 バ イ ン ド さ れ て い るWebGLFramebufferオ ブ ジ ェ ク ト。 表
B-15 のgl.bindFramebuffer()を参照。
gl.FRONT_FACE
三角形ワインディング方向を示すenum値。表B-16 のgl.frontFace()
を参照。
gl.GENERATE_MIPMAP_
HINT
ミップマップ生成ヒントモードのenum値。表B-16 のgl.hint()を
参照。
gl.GREEN_BITS
現在のカラーバッファの緑ビットプレーンの数。
gl.LINE_WIDTH
現在の線の太さを示すfloat値。表B-16 のgl.lineWidth()を参照。
gl.MAX_COMBINED_
TEXTURE_IMAGE_UNITS
結合された頂点シェーダとフラグメントシェーダでサポートされてい
る最大のテクスチャユニット。少なくとも 8 以上になる。
付録B WebGLリファレンス
(表B-17 続き)
gl.MAX_CUBE_MAP_
TEXTURE_SIZE
最大のキューブマップテクスチャサイズの概算値。少なくとも 16 以上
になる。
gl.MAX_FRAGMENT_
UNIFORM_VECTORS
フラグメントシェーダの 4 要素Uniform変数の最大数。少なくとも 16
以上になる。
gl.MAX_RENDERBUFFER_
SIZE
レンダリングバッファでサポートされている最大の幅と高さ。少なく
とも 1 以上になる。
gl.MAX_TEXTURE_IMAGE_
UNITS
フラグメントシェーダでサポートされている最大のテクスチャユニッ
ト。少なくとも 8 以上になる。
gl.MAX_TEXTURE_SIZE
最大のテクスチャサイズの概算値。少なくとも 64 以上になる。
gl.MAX_VARYING_
VECTORS
頂点、フラグメントシェーダの 4 要素Varying変数の最大数。少なくと
も 8 以上になる。
gl.MAX_VERTEX_ATTRIBS
頂点シェーダの 4 要素頂点属性の最大数。少なくとも 8 以上になる。
gl.MAX_VERTEX_
TEXTURE_IMAGE_UNITS
頂点シェーダでサポートされる最大のテクスチャユニット。0 になる
ことがあり得る。
gl.MAX_VERTEX_
UNIFORM_VECTORS
頂点シェーダの 4 要素Uniform変数の最大数。少なくとも 128 以上にな
る。
gl.MAX_VIEWPORT_DIMS
ビューポートの幅と高さの最大値という2つの要素を持つInt32Array。
gl.NUM_COMPRESSED_
TEXTURE_FORMATS
WebGLは圧縮されたテクスチャ形式をサポートしないので、常に
null。
gl.PACK_ALIGNMENT
メモリにピクセルデータを書き込むときに使われるバイトアラインメ
ントを示すint値。表B-15 のgl.pixelStorei()を参照。
gl.POLYGON_OFFSET_
FACTOR
ポリゴンオフセットで使われるfloatのスケーリングファクタ。表
B-13 のgl.polygonOffset()を参照。
gl.POLYGON_OFFSET_
FILL
ポリゴンオフセットモードがフィルモードで有効になっているかどう
かを示す論理値。表B-16 のgl.enable()を参照。
gl.POLYGON_OFFSET_
UNITS
定数の深度オフセットを作るために使われるfloat値。表B-13 の
gl.polygonOffset()を参照。
gl.RED_BITS
現在のカラーバッファの赤ビットプレーンの数。
gl.RENDERBUFFER_
BINDING
現在バインドされているWebGLRenderbufferオブジェクト。表
B-14 のgl.bindRenderbuffer()を参照。
gl.RENDERER
レンダラの名前の文字列。
gl.SAMPLE_BUFFERS
現在のフレームバッファに与えられたサンプルバッファの数を示す
int値。
B-25
付録B WebGLリファレンス
(表B-17 続き)
B-26
gl.SAMPLE_COVERAGE_
INVERT
カ バ レ ッ ジ 値 を 反 転 す べ き か ど う か を 示 す 論 理 値。 表B-16 の
gl.sampleCoverage()を参照。
gl.SAMPLE_COVERAGE_
VALUE
現在のカバレッジ値を示すfloat値。表B-16のgl.sampleCoverage()
を参照。
gl.SAMPLES
現在のフレームバッファのカバレッジマスクサイズを示すint値。
gl.SCISSOR_BOX
現在のシザーボックスのx、y、width、heightの 4 つの要素を持つ
Int32Array。表B-16 のgl.scissor()を参照。
gl.SCISSOR_TEST
シザーテストが有効になっているかどうかを示す論理値。表B-16 の
gl.enable()を参照。
gl.SHADING_LANGUAGE_
VERSION
実 装 が 使 っ て い る シ ェ ー ダ 言 語 の バ ー ジ ョ ン を 示 す 文 字 列。 例:
gl.STENCIL_BACK_FAIL
ステンシルテストが不合格になったときに、背後に隠れているポリゴンのた
めに使われる演算を示すenum値。表B-12のgl.stencilOpSeparate()
を参照。
gl.STENCIL_BACK_FUNC
背後に隠れているポリゴンのために使われる比較関数を示すenum値。
表B-12 のgl.stencilFuncSeparate()を参照。
gl.STENCIL_BACK_PASS_
DEPTH_FAIL
ステンシルテストが合格になったものの深度テストが不合格になった
ときに、背後に隠れているポリゴンのために使われる演算を示すenum
値。表B-12 のgl.stencilOpSeparate()を参照。
gl.STENCIL_BACK_PASS_
DEPTH_PASS
ステンシルテストと深度テストの両方が合格になったときに、背後に
隠れているポリゴンのために使われる演算を示すenum値。表B-12 の
gl.stencilOpSeparate()を参照。
gl.STENCIL_BACK_REF
背 後 に 隠 れ て い る ポ リ ゴ ン の た め に 使 わ れ る 参 照 値。 表B-12 の
gl.stencilFuncSeparate()を参照。
gl.STENCIL_BACK_
VALUE_MASK
背後に隠れているポリゴンが比較の前に参照値とステンシルバッファをマス
クするために使うintのマスク。表B-12のgl.stencilFuncSeparate()
を参照。
gl.STENCIL_BACK_
WRITEMASK
背後に隠れているポリゴンのための書き込みを制御するintのマスク。
表B-12 のgl.stencilMaskSeparate()を参照。
gl.STENCIL_BITS
ステンシルバッファのビットプレーンの数。
gl.STENCIL_CLEAR_
VALUE
ステンシルバッファをクリアするために使われるintのインデックス
値。表B-12 のgl.clearStencil()を参照。
gl.STENCIL_FAIL
ステンシルテストが不合格になったときに、前面に出ているポリゴンのた
めに使われる演算を示すenum値。表B-12のgl.stencilOpSeparate()
を参照。
gl.STENCIL_FUNC
前面に出ているポリゴンのために使われる比較関数を示すenum値。表
B-12 のgl.stencilFuncSeparate()を参照。
WebGL GLSL ES 1.0
付録B WebGLリファレンス
(表B-17 続き)
gl.STENCIL_PASS_
DEPTH_FAIL
ステンシルテストが合格になったものの深度テストが不合格になった
ときに、前面に出ているポリゴンのために使われる演算を示すenum値。
表B-12 のgl.stencilOpSeparate()を参照。
gl.STENCIL_PASS_
DEPTH_PASS
ステンシルテストと深度テストの両方が合格になったときに、前面に
出ているポリゴンのために使われる演算を示すenum値。表B-12 の
gl.stencilOpSeparate()を参照。
gl.STENCIL_REF
前 面 に 出 て い る ポ リ ゴ ン の た め に 使 わ れ る 参 照 値。 表B-12 の
gl.stencilFuncSeparate()を参照。
gl.STENCIL_TEST
ステンシルテストが有効になっているかどうかを示す論理値。表B-16
のgl.enable()を参照。
gl.STENCIL_VALUE_MASK
前面に出ているポリゴンが比較の前に参照値とステンシルバッファをマスク
するために使うintのマスク。表B-12のgl.stencilFuncSeparate()
を参照。
gl.STENCIL_WRITEMASK
前面に出ているポリゴンのための書き込みを制御するintのマスク。
表B-12 のgl.stencilMaskSeparate()を参照。
gl.SUBPIXEL_BITS
サブピクセルビットの数の概算値。少なくとも 4 以上になる。
gl.TEXTURE_BINDING_2D
現 在 gl.TEXTURE_2D タ ー ゲ ッ ト に バ イ ン ド さ れ て い る Web
GLTextureオブジェクト。表B-10 のgl.bindTexture()を参照。
gl.TEXTURE_BINDING_
CUBE_MAP
現 在gl.TEXTURE_CUBE_MAPタ ー ゲ ッ ト に バ イ ン ド さ れ て い る
WebGLTextureオ ブ ジ ェ ク ト。 表B-10 のgl.bindTexture()を
参照。
gl.UNPACK_ALIGNMENT
メモリからピクセルデータを読み出すときに使われるバイトアライン
メントを示すint値。表B-15 のgl.pixelStorei()を参照。
gl.UNPACK_COLORSPACE_
CONVERSION_WEBGL
イメージデータをロードするときに使われるカラースペース変換を示
すenum値。初期状態では、gl.BROWSER_DEFAULT_WEBGLになっ
ている。表B-15 のgl.pixelStorei()を参照。
gl.UNPACK_FLIP_Y_
WEBGL
テクスチャイメージデータが縦軸に沿って反転しているかどうかを示
す論理値。表B-15 のgl.pixelStorei()を参照。
gl.UNPACK_
PREMULTIPLY_ALPHA_
WEBGL
イメージデータをロードするときに、アルファチャネルがRGBチャネルに
掛け合わされるかどうかを示す論理値。表B-15 のgl.pixelStorei()
を参照。
gl.VENDOR
実装に責任を負う企業名の文字列。
gl.VERSION
実装で使われているWebGLバージョンを示す文字列。例:WebGL 1.0
gl.VIEWPORT
現在のビューポートのx、y、width、heightという 4 つの要素を持
つInt32Array。表B-9 のgl.viewport()を参照。
B-27