• 検索結果がありません。

B.1 WebGL APIリファレンス この付録は WebGL JavaScript APIのすべての関数 その引数 戻り値を簡単にし API の概要を示す WebGLとOpenGL ES 2 APIの詳細は webgl/specs/

N/A
N/A
Protected

Academic year: 2021

シェア "B.1 WebGL APIリファレンス この付録は WebGL JavaScript APIのすべての関数 その引数 戻り値を簡単にし API の概要を示す WebGLとOpenGL ES 2 APIの詳細は webgl/specs/"

Copied!
27
0
0

読み込み中.... (全文を見る)

全文

(1)

WebGLリファレンス

WebGL Reference

(2)

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パラメータ

パラメータ デフォルト 説明

alpha true 描画バッファのアルファチャネルを有効にする。

depth true サポートされていてtrueなら深度バッファが有効にな

る。

stencil false サポートされていてtrueならステンシルバッファが有

効になる。

B.1

 WebGL APIリファレンス

 WebGL APIリファレンス

(3)

(表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-2 のデータ型は、WebGL 仕様に記述されているものを単純化したものである。しかし、一般 にこれらの型は JavaScript ではnumber型に変換されるので、これらの型について気にする必要 はない。

(4)

型付き配列

 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 buffer ) WebGLBufferオブジェクトを削除する。 gl.bindBuffer( enum target, WebGLBuffer buffer ) 引数のtargetにWebGLBufferをバインドする。 targetと し て 指 定 で き る 有 効 な 値 は、gl.ARRAY_BUFFERと gl.ELEMENT_ARRAY_BUFFERである。

(5)

(表B-4 続き) gl.bufferData( enum target, Object data, enum usage ) gl.bufferData( enum target, uint size, enum usage ) 引数のtargetにバインドされたWebGLBufferオブジェクトの デ ー タ を 保 存 す る。 第 2 引 数 は、ArrayBufferオ ブ ジ ェ ク ト、 ArrayBufferViewオブジェクト、データの初期サイズを示す ulong値のどれかを指定できる。 usageと し て 指 定 で き る 有 効 な 値 は、gl.STREAM_DRAW、gl. STATIC_DRAW、gl.DYNAMIC_DRAWである。 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を返す。

(6)

シェーダ

 表B-5には、シェーダオブジェクトの作成、削除、コンパイルに関連する関数をまとめてあ る。 表B-5 シェーダ関数 関数 説明 gl.createShader( enum type ) 新しいWebGLShaderオブジェクトを返す。 typeと し て 指 定 で き る 有 効 な 値 は、gl.FRAGMENT_SHADERと gl.VERTEX_SHADERである。 gl.deleteShader( WebGLShader shader ) 引数のWebGLShaderオブジェクトを削除する。削除ステータスは、 gl.DELETE_STATUSパラメータに保存される。 gl.shaderSource( WebGLShader shader, string source ) 引数のWebGLShaderオブジェクトにGLSLソースコードを設定す る。 gl.getShaderSource( WebGLShader shader ) 引数のWebGLShaderオブジェクトのGLSLソースコードをstring として返す。 gl.compileShader( WebGLShader shader ) WebGLShaderオブジェクトをコンパイルする。 gl.getShaderInfoLog( WebGLShader shader ) 引数のWebGLShaderオブジェクトの情報ログ(コンパイルエラーを 含む)をstringとして返す。 gl.isShader( WebGLShader shader ) シェーダがまだ削除されていないWebGLShaderオブジェクトなら trueを返す。そうでなければfaleを返す。 gl.getShaderParameter( WebGLShader shader, enum pname ) 引数のWebGLShaderオブジェクトのパラメータ値を返す。pname として指定できる有効な値は、gl.SHADER_TYPE、gl.DELETE_ STATUS、gl.COMPILE_STATUSである。

(7)

プログラムオブジェクト

 表B-6には、プログラムオブジェクトの作成、削除、リンクに関連する関数をまとめてある。 表B-6 プログラムオブジェクト関数 関数 説明 gl.createProgram() 新しいWebGLProgramオブジェクトを作って返す。 gl.deleteProgram( WebGLProgram program ) 引数のWebGLProgramオブジェクトを削除する。削除ステータス は、gl.DELETE_STATUSパラメータに保存される。 gl.linkProgram( WebGLProgram program ) 引数のWebGLProgramオブジェクトをリンクし、プログラマブル 頂点、フラグメントプロセッサの実行可能コードを作る。ステータ スは、gl.LINK_STATUSパラメータに保存される。 gl.getProgramInfoLog( WebGLProgram program ) 引数のWebGLProgramオブジェクトの情報ログ(リンカエラーを 含む)を文字列として返す。 gl.validateProgram( WebGLProgram program ) 引数のWebGLProgramオブジェクトをバリデートし、ステータス をgl.VALIDATE_STATUSパラメータに保存する。 gl.attachShader( WebGLProgram program, WebGLShader shader ) 引数のWebGLProgramオブジェクトにWebGLShaderオブジェクト をアタッチする。アタッチされたシェーダの数は、gl.ATTACHED_ SHADERSパラメータに保存される。 gl.detachShader( WebGLProgram program, WebGLShader shader ) 引数のWebGLProgramオブジェクトからWebGLShaderオブジェ クトをデタッチする。 gl.getAttachedShaders( WebGLProgram program ) 引 数 のWebGLProgramオ ブ ジ ェ ク ト に ア タ ッ チ さ れ て い る WebGLShaderオブジェクトを格納する配列を返す。 gl.getActiveAttrib( WebGLProgram program, uint index ) 引数のWebGLProgramオブジェクトのindexの位置にある頂点属 性についての情報を返す。

戻り値は、size、type、nameプロパティを持つWebGLActiveInfo

(8)

(表B-6 続き) gl.getActiveUniform( WebGLProgram program, uint index ) 引 数 のWebGLProgramオ ブ ジ ェ ク ト のindexの 位 置 に あ る Uniform変数についての情報を返す。

戻り値は、size、type、nameプロパティを持つWebGLActiveInfo

オブジェクトである。 gl.useProgram( WebGLProgram program ) 現在のレンダリングのために指定されたWebGLProgramオブジェ クトをアクティブにする。 gl.isProgram( WebGLProgram program ) programがまだ削除されていないWebGLProgramオブジェクト ならtrueを返す。そうでなければfalseを返す。 gl.getProgramParameter( WebGLProgram program, enum pname ) 引数のWebGLProgramオブジェクトのパラメータ値を返す。 nameと し て 指 定 で き る 有 効 な 値 は、gl.DELETE_STATUS、 g l . L I N K _ S T A T U S、g l . V A L I D A T E _ S T A T U S、 gl.ATTACHED_SHADERS、gl.ACTIVE_UNIFORMS、 gl.ACTIVE_ATTRIBUTESである。

Uniform変数

 表B-7には、Uniform変数へのアクセス、値の設定に関連する関数をまとめてある。 表B-7 Uniform変数関数 関数 説明 gl.getUniformLocation( WebGLProgram program, string name ) 引数のWebGLProgramオブジェクトの指定された名前 のUniform変数の位置を指すWebGLUniformLocation オブジェクトを返す。 gl.getUniform( WebGLProgram program, WebGLUniformLocation location ) 引 数 のWebGLProgramオ ブ ジ ェ ク ト の 指 定 さ れ た locationにあるUniform変数の値を返す。戻り値の型 は、Uniform変数の型によって決まる。 gl.uniform[1234][fi]( WebGLUniformLocation location, ... ) 引 数 のWebGLProgramオ ブ ジ ェ ク ト の 指 定 さ れ た locationにあるUniform変数に値を設定する。 例: gl.uniform1i(location, 17); gl.uniform3f(location, 1.5, 2.3, 3.7);

(9)

(表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( uint index ) indexの位置の頂点属性を有効にする gl.disableVertexAttribArray( uint index ) indexの位置の頂点属性を無効にする。

(10)

(表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, ... ) 指定されたindexの位置の頂点属性に定数値を設定する。 例: gl.vertexAttrib3f(index, 2.3, 5.4, 1.5); gl.vertexAttrib[1234]fv( uint index, Float32Array values ) 指定されたindexの位置の頂点属性に定数値を設定する。 例: gl.vertexAttrib3fv(index, [2.3, 5.4, 1.5]); gl.vertexAttribPointer( uint index, int size, enum type, boolean normalized, int stride, int offset ) 指定された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 を指定してストライドを自動計算させるこ とができる。

(11)

描画

 表B-9には、canvas要素にジオメトリを描画することに関連する関数をまとめてある。 表B-9 描画関数 関数 説明 gl.viewport( int x, int y, int width, int height ) 左上隅が(x, y)でサイズがwidth×heightの矩形をビュー ポートに設定する。 ビューポートは、コンテンツがレンダリングされる領域である。 gl.drawArrays( enum mode, int first, int count ) 現在バインドされているバッファの配列データからプリミティブ をレンダリングする。 countは、レンダリングする要素数を指定する。firstは、レン ダリングする最初の要素を指定する。

modeとして指定できる有効な値は、gl.POINTS、gl.LINES、

gl.LINE_LOOP、gl.LINE_STRIP、gl.TRIANGLES、gl. TRIANGLE_STRIP、gl.TRIANGLE_FANである。 gl.drawElements( enum mode, int count, enum type, int offset ) 現在バインドされているバッファからプリミティブを描画する。 countは、レンダリングする要素数を指定する。offsetは、レ ンダリングする最初の要素を指定する。 modeとして指定できる有効な値については、gl.drawArrays() の項を参照していただきたい。 gl.flush() バッファリングされたWebGLコマンドをただちに実行する。 gl.finish() すべてのWebGLコマンドが実行され、終了するまで制御を返さない。

(12)

テクスチャ

 表B-10には、テクスチャの作成、削除、ロードに関連する関数をまとめてある。 表B-10 テクスチャ関数 関数 説明 gl.createTexture() 新しいWebGLTextureオブジェクトを返す。 gl.deleteTexture( WebGLTexture texture ) 指定されたWebGLTextureオブジェクトを削除する。 gl.bindTexture( enum target, WebGLTexture texture ) 引数のtargetに指定されたWebGLTextureオブジェクトをバイ ンドする。targetとして指定できる有効な値は、gl.TEXTURE_ 2D、gl.TEXTURE_CUBE_MAPである。 gl.activeTexture( enum texture ) 指定されたテクスチャユニットをアクティブ化する。textureとし て指定できる有効な値は、n = gl.MAX_COMBINED_TEXTURE_ IMAGE_UNITSとして、gl.TEXTURE0からgl.TEXTUREnまで である。 gl.generateMipmap( enum target ) 引数のtargetに現在バインドされているテクスチャのために ミップマップを生成する。targetとして指定できる有効な値は、 gl.TEXTURE_2Dとgl.TEXTURE_CUBE_MAPである。 gl.texImage2D( enum target, int level, enum internalformat, int width, int height, int border, enum format, enum type, ArrayBufferView pixels ) 引数の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と し て 指 定 で き る 有 効 な 値 は、 g l . A L P H A、g l . R G B、g l . R G B A、g l . L U M I N A N C E、 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 はもとのイメージを表す。

(13)

(表B-10 続き) gl.texImage2D( enum target, int level, enum internalformat, enum format, enum type, Object pixels ) 引数のtargetにバインドされたテクスチャにpixelsオブジェ クトのピクセルデータをロードする。

pixelsオブジェクトは、img要素、canvas要素、video要素、 2Dキャンバスコンテキストのctx.getImageData()メソッド などで作ったImageDataオブジェクトにすることができる。 ほかの引数については、gl.texImage2D()の項を参照していた だきたい。 gl.texSubImage2D( enum target, int level, int xoffset, int yoffset, int width, int height, enum format, enum type, ArrayBufferView pixels ) 引数のtargetにバインドされたテクスチャのサブリージョンに ピクセルデータをロードする。

サブリージョンのサイズはwidth×heightである。位置(xoffset, yoffset)は、サブリージョンの左上隅を指定する。 ほかの引数については、gl.texImage2D()の項を参照していた だきたい。 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, int x, int y, int width, int height, int border 引数のtargetにバインドされたテクスチャにフレームバッファ のイメージデータをコピーする。 ほかの引数については、gl.texImage2D()の項を参照していた だきたい。

(14)

(表B-10 続き) gl.copyTexSubImage2D( enum target, int level, int xoffset, int yoffset, int x, int y, int width, int height ) 引数のtargetにバインドされたテクスチャのサブリージョンに フレームバッファのイメージデータをコピーする。 ほかの引数については、gl.texSubImage2D()の項を参照して いただきたい。 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 ) 引数の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のどれかでなければならない。 gl.getTexParameter( enum target, enum pname ) targetにバインドされているテクスチャのテクスチャパラメー タを返す。 pnameとして指定できる有効な値については、gl.texParameter [fi]()の項を参照。

(15)

ブレンド

 表B-11には、ブレンド式、関数に関連する関数をまとめてある。 表B-11 ブレンド関数 関数 説明 gl.blendEquation( enum mode ) ブレンド式を設定する。

modeとして指定できる有効な値は、gl.FUNC_ADD、gl.FUNC_ SUBTRACT、gl.FUNC_REVERSE_SUBTRACTである。 gl.blendEquationSeparate( enum modeRGB, enum modeAlpha ) 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, enum srcAlpha, enum dstAlpha ) RGBとアルファとで別々にブレンドファクタを設定する。 ソース、デスティネーションファクタとして指定できる有効な値 については、gl.blendFunc()の項を参照。 gl.blendColor( float red, float green, float blue, float alpha ) 定数のブレンド色を設定する。

(16)

ステンシルバッファ

 表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, int mask ) 前面に出ているポリゴンと背後に隠れているポリゴンとで別々にス テンシル関数と参照値を設定する。

faceと し て 指 定 で き る 有 効 な 値 は、gl.FRONT、gl.BACK、

gl.FRONT_AND_BACKである。 gl.stencilMask( uint mask ) ステンシルバッファへの個々のビットの出力を制御するマスクを設 定する。 gl.stencilMaskSeparate( enum face, uint mask ) 前面に出ているポリゴンと背後に隠れているポリゴンとで別々にス テンシルマスクを設定する。 faceとして指定できる有効な値については、gl.stencilFuncSeparate() の項を参照。 gl.stencilOp( enum fail, enum zfail, enum zpass ) ステンシルテストで使われる演算を設定する。 failはステンシルテストが不合格になったときに使われる演算で ある。zfailは、ステンシルテストが合格になったものの深度テ ストが不合格になったときに使われる演算である。zpassは、両 テストが合格になったときに使われる演算である。 すべての引数について、指定できる有効な値は、gl.ZERO、gl. KEEP、gl.REPLACE、gl.INCR、gl.DECR、gl.INVERT、

(17)

(表B-12 続き) gl.stencilOpSeparate( enum face, enum fail, enum zfail, enum zpass ) 前面に出ているポリゴンと背後に隠れているポリゴンとで別々にス テンシルテスト演算を設定する。 演算として指定できる有効な値については、See gl.stencilOp() の項を参照。

深度バッファ

 表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, float zFar ) 深度バッファの範囲を設定する。 zNearの値は、zFarよりも小さくなければならない。 gl.clearDepth( float depth ) 深度バッファをクリアするために使われる深度の値を設定する。 gl.polygonOffset( float factor, float units ) 深度を計算するために使われるスケーリングファクタとオフセット単位を設 定する。

レンダリングバッファ

(18)

表B-14 レンダリングバッファ関数 関数 説明 gl.createRenderbuffer() 新しいWebGLRenderBufferオブジェクトを返す。 gl.deleteRenderbuffer( WebGLRenderbuffer renderbuffer ) 引数のWebGLRenderBufferオブジェクトを削除す る。 gl.bindRenderbuffer( enum target, WebGLRenderbuffer renderbuffer ) 指定されたtargetにWebGLRenderbufferオブジェ クトをバインドする。 targetの値は、gl.RENDERBUFFERでなければな らない。 gl.renderbufferStorage( enum target, enum internalformat, int width, int height ) 現在バインドされているレンダリングバッファのため にデータストアを初期化する。 width、height引数は、レンダリングバッファのサ イズを指定する。 internalformatとして指定できる有効な値は、gl. RGBA4、gl.RGB565、gl.RGB5_A1、gl.DEPTH_ COMPONENT16、gl.STENCIL_INDEX8である。 gl.framebufferRenderbuffer( enum target, enum attachment, enum renderbuffertarget, WebGLRenderbuffer renderbuffer ) targetに現在バインドされているフレームバッファ に指定されたWebGLRenderbufferオブジェクトを アタッチする。 targetの値は、gl.RENDERBUFFERでなければなら ない。 renderbuffertargetの値はgl.RENDERBUFFER でなければならない。 attachmentとして指定できる有効な値は、gl.COLOR_ ATTACHMENT0、gl.DEPTH_ATTACHMENT、 gl.STENCIL_ATTACHMENT、gl.DEPTH_STENCIL_ ATTACHMENTである。 gl.isRenderbuffer( WebGLRenderbuffer renderbuffer ) renderbufferがgl.bindRenderBuffer()でバ インドされたWebGLRenderBufferオブジェクトな らtrueを返す。そうでなければfalseを返す。 gl.getRenderbufferParameter( enum target, enum pname ) 現在バインドされているレンダリングバッファのパラ メータを返す。 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、

(19)

フレームバッファ

 表B-15には、フレームバッファの作成、削除、利用に関連する関数をまとめてある。 表B-15 フレームバッファ関数 関数 説明 gl.createFramebuffer() 新しいWebGLFramebufferオブジェクトを返す。 gl.deleteFramebuffer( WebGLFramebuffer framebuffer ) 指定されたWebGLFramebufferオブジェクトを削除す る。 gl.bindFramebuffer( enum target, WebGLFramebuffer framebuffer ) 引数のtargetに指定されたWebGLFramebufferオブ ジェクトをバインドする。targetは、gl.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 でなければならない。

(20)

(表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, ArrayBufferView pixels ) フレームバッファからピクセルデータを読み出す。 x、y、width、heightは、読み出す矩形リージョンを 指定する。

formatはgl.RGBAで な け れ ば な ら な い。typeは

gl.UNSIGNED_BYTEでなければならない。 ピクセルデータはpixels配列にロードされる。typeの gl.UNSIGNED_BYTEに合わせて、配列はUInt8Array 型でなければならない。 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

(21)

その他の関数

 表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 ) 指定された機能が有効ならtrueを返す。そうでなければfalse を返す。capとして指定できる値については、gl.enable()の 項を参照。 gl.cullFace( enum mode ) フェースカリングモードを設定する。

modeと し て 指 定 で き る 有 効 な 値 は、gl.FRONT、gl.BACK、

gl.FRONT_AND_BACKである。 gl.frontFace( enum mode ) フェースカリングで使われる回転方向を設定する。 modeとして指定できる有効な値は、gl.CW(右回り)とgl.CCW (左回り)である。 gl.clear( uint mask ) カラー、深度、ステンシルバッファをクリアする。 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 カラーバッファをクリアするために使う色を設定する。

(22)

(表B-16 続き) gl.lineWidth( float width ) レンダリングされる線の太さを設定する。 gl.scissor( int x, int y, int width, int height ) シザーボックスを設定する。 x、yはシザーボックスの左上隅を指定する。width、height はシザーボックスのサイズを指定する。 gl.sampleCoverage( float value, boolean invert ) マルチサンプルカバレッジパラメータを設定する。 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( string name ) nameというエクステンションがサポートされていればオブジェ クトを返す。そうでなければ、nullを返す。 gl.getContextAttributes() webglコンテキストを作成したときに指定された WebGLContextAttributesを返す。 gl.isContextLost() たとえばモバイルデバイスで電源イベントが発生したなどの理由 でwebglコンテキストが失われ、作り直さなければならない場合 は、trueを返す。 gl.getParameter( enum pname ) pnameと い う 名 前 のWebGLパ ラ メ ー タ の 値 を 返 す。 有 効 な pnameの値は、表B-17 を参照。

(23)

パラメータ

 表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 の

(24)

(表B-17 続き) 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 以上になる。

(25)

(表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値。

(26)

(表B-17 続き) 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 実 装 が 使 っ て い る シ ェ ー ダ 言 語 の バ ー ジ ョ ン を 示 す 文 字 列。 例: WebGL GLSL ES 1.0 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()を参照。

(27)

(表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 現 在WebGLTexturegl.TEXTURE_CUBE_MAPオ ブ ジ ェ ク ト。 表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 つの要素を持

参照

関連したドキュメント

クチャになった.各NFは複数のNF  ServiceのAPI を提供しNFの処理を行う.UDM(Unified  Data  Management) *11 を例にとれば,UDMがNF  Service

サーバー API 複雑化 iOS&Android 間で複雑な API

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

従来から iOS(iPhone など)はアプリケーションでの電話 API(Application Program

いてもらう権利﹂に関するものである︒また︑多数意見は本件の争点を歪曲した︒というのは︑第一に︑多数意見は

次に、14 ページの下の表を御覧ください。表 5.2-1 に計画建築物の概要を示してござい ます。区域面積は約 2.4ha、延床面積は約 42 万 m 2

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

 貿易統計は、我が国の輸出入貨物に関する貿易取引を正確に表すデータとして、品目別・地域(国)別に数量・金額等を集計して作成しています。こ