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

Size: px
Start display at page:

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

Transcription

1 付録 B WebGL Reference

2 B.1 WebGL APIリファレンス この付録は WebGL JavaScript APIのすべての関数 その引数 戻り値を簡単にし API の概要を示す WebGLとOpenGL ES 2 APIの詳細は webgl/specs/1.0/ のWebGL 仕様書 の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-2

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 int uint float WebGLの列挙値 たとえば gl.buffer_size 符号付き整数値符号なし整数値浮動小数点数値 表 B-2 のデータ型は WebGL 仕様に記述されているものを単純化したものである しかし 一般にこれらの型は JavaScript では number 型に変換されるので これらの型について気にする必要はない B-3

4 型付き配列 WebGLは さまざまなデータ型を処理するために新しい型付き配列オブジェクトを使っている 型付き配列の詳細は の仕様書を参照していただきたい 表 B-3 には ここで使う配列型をまとめてある 表 B-3 型付き配列 型 Uint16Array Uint32Array Int32Array Float32Array 符号なし 16 ビット整数値符号なし 32 ビット整数値符号付き 32 ビット整数値 32ビット浮動小数点数値 バッファ関数 表 B-4には バッファオブジェクトの作成 削除 データの設定に関係のある関数をまとめてある 表 B-4 バッファ関数 関数 gl.createbuffer( gl.deletebuffer( WebGLBuffer buffer gl.bindbuffer( WebGLBuffer buffer 新しい WebGLBuffer オブジェクトを作って返す WebGLBuffer オブジェクトを削除する 引数のtargetにWebGLBufferをバインドする targetとして指定できる有効な値は gl.array_bufferと gl.element_array_bufferである B-4

5 ( 表 B-4 続き gl.bufferdata( Object data, enum usage gl.bufferdata( uint size, enum usage gl.buffersubdata( Object data, enum usage gl.getbufferparameter( enum pname gl.isbuffer( WebGLBuffer buffer 引数のtargetにバインドされたWebGLBufferオブジェクトのデータを保存する 第 2 引数は ArrayBufferオブジェクト ArrayBufferViewオブジェクト データの初期サイズを示す ulong 値のどれかを指定できる usageとして指定できる有効な値は gl.stream_draw gl. STATIC_DRAW gl.dynamic_drawである targetにバインドされたバッファオブジェクトのデータストアのサブセクションを更新する data 引数は ArrayBuffer ArrayBufferViewオブジェクトのどちらかを指定できる usageとして指定できる有効な値は gl.stream_draw gl.static_draw gl.dynamic_drawである 引数の target にバインドされたバッファオブジェクトのパラメータの値を返す name として指定できる有効な値は gl.buffer_ SIZE gl.buffer_usage である バッファが WebGLObject で gl.bindbuffer( ですでにターゲットにバインドされているときに true を返す B-5

6 シェーダ る 表 B-5 には シェーダオブジェクトの作成 削除 コンパイルに関連する関数をまとめてあ 表 B-5 シェーダ関数 関数 gl.createshader( enum type gl.deleteshader( WebGLShader shader gl.shadersource( WebGLShader shader, string source gl.getshadersource( WebGLShader shader gl.compileshader( WebGLShader shader gl.getshaderinfolog( WebGLShader shader gl.isshader( WebGLShader shader gl.getshaderparameter( WebGLShader shader, enum pname 新しいWebGLShaderオブジェクトを返す typeとして指定できる有効な値は gl.fragment_shaderと gl.vertex_shaderである 引数の WebGLShader オブジェクトを削除する 削除ステータスは gl.delete_status パラメータに保存される 引数の WebGLShader オブジェクトに GLSL ソースコードを設定する 引数の WebGLShader オブジェクトの GLSL ソースコードを string として返す WebGLShader オブジェクトをコンパイルする 引数の WebGLShader オブジェクトの情報ログ ( コンパイルエラーを含む を string として返す シェーダがまだ削除されていない WebGLShader オブジェクトなら true を返す そうでなければ fale を返す 引数の WebGLShader オブジェクトのパラメータ値を返す pname として指定できる有効な値は gl.shader_type gl.delete_ STATUS gl.compile_status である B-6

7 プログラムオブジェクト 表 B-6 には プログラムオブジェクトの作成 削除 リンクに関連する関数をまとめてある 表 B-6 プログラムオブジェクト関数 関数 gl.createprogram( gl.deleteprogram( WebGLProgram program gl.linkprogram( WebGLProgram program gl.getprograminfolog( WebGLProgram program gl.validateprogram( WebGLProgram program gl.attachshader( WebGLProgram program, WebGLShader shader gl.detachshader( WebGLProgram program, WebGLShader shader gl.getattachedshaders( WebGLProgram program gl.getactiveattrib( WebGLProgram program, uint index 新しい WebGLProgram オブジェクトを作って返す 引数の WebGLProgram オブジェクトを削除する 削除ステータスは gl.delete_status パラメータに保存される 引数の WebGLProgram オブジェクトをリンクし プログラマブル頂点 フラグメントプロセッサの実行可能コードを作る ステータスは gl.link_status パラメータに保存される 引数の WebGLProgram オブジェクトの情報ログ ( リンカエラーを含む を文字列として返す 引数の WebGLProgram オブジェクトをバリデートし ステータスを gl.validate_status パラメータに保存する 引数の WebGLProgram オブジェクトに WebGLShader オブジェクトをアタッチする アタッチされたシェーダの数は gl.attached_ SHADERS パラメータに保存される 引数の WebGLProgram オブジェクトから WebGLShader オブジェクトをデタッチする 引数の WebGLProgram オブジェクトにアタッチされている WebGLShader オブジェクトを格納する配列を返す 引数のWebGLProgramオブジェクトのindexの位置にある頂点属性についての情報を返す 戻り値は size type nameプロパティを持つ WebGLActiveInfo オブジェクトである B-7

8 ( 表 B-6 続き gl.getactiveuniform( WebGLProgram program, uint index gl.useprogram( WebGLProgram program gl.isprogram( WebGLProgram program gl.getprogramparameter( WebGLProgram program, enum pname 引数のWebGLProgramオブジェクトのindexの位置にある Uniform 変数についての情報を返す 戻り値は size type nameプロパティを持つ WebGLActiveInfo オブジェクトである 現在のレンダリングのために指定された WebGLProgram オブジェクトをアクティブにする program がまだ削除されていない WebGLProgram オブジェクトなら true を返す そうでなければ false を返す 引数の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 gl.getuniform( WebGLProgram program, WebGLUniformLocation location gl.uniform[1234][fi]( WebGLUniformLocation location,... 引数の WebGLProgram オブジェクトの指定された名前の Uniform 変数の位置を指す WebGLUniformLocation オブジェクトを返す 引数の WebGLProgram オブジェクトの指定された location にある Uniform 変数の値を返す 戻り値の型は Uniform 変数の型によって決まる 引数のWebGLProgramオブジェクトの指定された locationにあるuniform 変数に値を設定する 例 : gl.uniform1i(location, 17; gl.uniform3f(location, 1.5, 2.3, 3.7; B-8

9 ( 表 B-7 続き gl.uniform[1234][fi]v( WebGLUniformLocation location, Array value gl.uniformmatrix[234]fv( WebGLUniformLocation location, boolean transpose, Float32Array value 現在のWebGLProgramオブジェクトの指定された locationにあるuniform 変数の値を設定する 例 : gl.uniform3fv(location, new Float32Array([ 0.5, -2.0, 5.5, 6.2, 1.0, -2.5 ]; 現在の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 gl.disablevertexattribarray( uint index index の位置の頂点属性を有効にする index の位置の頂点属性を無効にする B-9

10 ( 表 B-8 続き gl.getattriblocation( WebGLProgram program, string name gl.bindattriblocation( WebGLProgram program, uint index, string name gl.getvertexattrib( uint index, enum pname gl.getvertexattriboffset( uint index, enum pname 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 に name という名前の頂点属性をバインドする 指定された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である 指定された index の位置の頂点属性を指すポインタのアドレスを返す pname の値は gl.vertex_attrib_array_ POINTER でなければならない 指定された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になる のどれかでなければならない type 引数は データの型を指定し BYTE UNSIGNED_ BYTE SHORT UNSIGNED_SHORT INT UNSIGNED_ INT FLOATのどれかでなければならない normalized 引数は 値を [-1,1] の範囲に正規化すべきかどうかを指定する stride 引数は 1 つの頂点の先頭から次の頂点の先頭までのバイト数を指定する データがタイトにパッキングされている場合は 0 を指定してストライドを自動計算させることができる offsetは 先頭要素を指定する B-10

11 描画 表 B-9 には canvas 要素にジオメトリを描画することに関連する関数をまとめてある 表 B-9 描画関数 関数 gl.viewport( int x, int y, int width, int height gl.drawarrays( enum mode, int first, int count gl.drawelements( enum mode, int count, enum type, int offset gl.flush( gl.finish( 左上隅が (x, y でサイズがwidth heightの矩形をビューポートに設定する ビューポートは コンテンツがレンダリングされる領域である 現在バインドされているバッファの配列データからプリミティブをレンダリングする 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( の項を参照していただきたい バッファリングされた WebGL コマンドをただちに実行する すべての WebGL コマンドが実行され 終了するまで制御を返さない B-11

12 テクスチャ 表 B-10 には テクスチャの作成 削除 ロードに関連する関数をまとめてある 表 B-10 テクスチャ関数 関数 gl.createtexture( gl.deletetexture( WebGLTexture texture gl.bindtexture( WebGLTexture texture gl.activetexture( enum texture gl.generatemipmap( enum target gl.teximage2d( int level, enum internalformat, int width, int height, int border, enum format, enum type, ArrayBufferView pixels 新しい WebGLTexture オブジェクトを返す 指定された WebGLTexture オブジェクトを削除する 引数の target に指定された WebGLTexture オブジェクトをバインドする target として指定できる有効な値は gl.texture_ 2D gl.texture_cube_map である 指定されたテクスチャユニットをアクティブ化する 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

13 ( 表 B-10 続き gl.teximage2d( int level, enum internalformat, enum format, enum type, Object pixels gl.texsubimage2d( int level, int xoffset, int yoffset, int width, int height, enum format, enum type, ArrayBufferView pixels gl.texsubimage2d( int level, int xoffset, int yoffset, enum format, enum type, Object pixels gl.copyteximage2d( int level, enum internalformat, int x, int y, int width, int height, int border 引数のtargetにバインドされたテクスチャにpixelsオブジェクトのピクセルデータをロードする pixelsオブジェクトは img 要素 canvas 要素 video 要素 2Dキャンバスコンテキストのctx.getImageData( メソッドなどで作ったImageDataオブジェクトにすることができる ほかの引数については gl.teximage2d( の項を参照していただきたい 引数のtargetにバインドされたテクスチャのサブリージョンにピクセルデータをロードする サブリージョンのサイズは width height である 位置 (xoffset, yoffset は サブリージョンの左上隅を指定する ほかの引数については gl.teximage2d( の項を参照していただきたい 引数のtargetにバインドされたテクスチャのサブリージョンにピクセルデータをロードする 位置 (xoffset, yoffset は サブリージョンの左上隅を指定する pixelsオブジェクトは img 要素 canvas 要素 video 要素 2Dキャンバスコンテキストのctx.getImageData( メソッドなどで作ったImageDataオブジェクトにすることができる ほかの引数については gl.teximage2d( の項を参照していただきたい 引数のtargetにバインドされたテクスチャにフレームバッファのイメージデータをコピーする ほかの引数については gl.teximage2d( の項を参照していただきたい B-13

14 ( 表 B-10 続き gl.copytexsubimage2d( int level, int xoffset, int yoffset, int x, int y, int width, int height gl.istexture( WebGLTexture texture gl.texparameterf( enum pname, float param gl.texparameteri( enum pname, int param gl.gettexparameter( enum pname 引数のtargetにバインドされたテクスチャのサブリージョンにフレームバッファのイメージデータをコピーする ほかの引数については gl.texsubimage2d( の項を参照していただきたい テクスチャが gl.bindtexture( でターゲットにバインドされた WebGLTexture なら true を返す そうでなければ false を返す 引数の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-14

15 ブレンド 表 B-11 には ブレンド式 関数に関連する関数をまとめてある 表 B-11 ブレンド関数 関数 gl.blendequation( enum mode gl.blendequationseparate( enum modergb, enum modealpha gl.blendfunc( enum sfactor, enum dfactor gl.blendfuncseparate( enum srcrgb, enum dstrgb, enum srcalpha, enum dstalpha gl.blendcolor( float red, float green, float blue, float alpha ブレンド式を設定する modeとして指定できる有効な値は gl.func_add gl.func_ SUBTRACT gl.func_reverse_subtractである RGBとアルファとで別々にブレンド式を設定する modeとして指定できる有効な値については gl.blendequation( の項 ソース デスティネーションブレンドファクタを設定する 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も使える 定数のアルファと定数の色を同時に使うことはできない RGBとアルファとで別々にブレンドファクタを設定する ソース デスティネーションファクタとして指定できる有効な値については gl.blendfunc( の項 定数のブレンド色を設定する B-15

16 ステンシルバッファ 表 B-12 には ステンシルバッファの関数 演算の設定に関連する関数をまとめてある 表 B-12 ステンシルバッファ関数 関数 gl.clearstencil( int s gl.stencilfunc( enum func, int ref, int mask gl.stencilfuncseparate( enum face, enum func, int ref, int mask gl.stencilmask( uint mask gl.stencilmaskseparate( enum face, uint mask gl.stencilop( enum fail, enum zfail, enum zpass ステンシルバッファをクリアするときに使われるステンシルインデックスを設定する ステンシルテストに使われる関数と参照値を設定する 関数として指定できる有効な値は gl.never gl.less gl. EQUAL gl.lequal gl.greater gl.notequal gl. GEQUAL gl.alwaysである 前面に出ているポリゴンと背後に隠れているポリゴンとで別々にステンシル関数と参照値を設定する faceとして指定できる有効な値は gl.front gl.back gl.front_and_backである ステンシルバッファへの個々のビットの出力を制御するマスクを設定する 前面に出ているポリゴンと背後に隠れているポリゴンとで別々にステンシルマスクを設定する faceとして指定できる有効な値については gl.stencilfuncseparate( の項 ステンシルテストで使われる演算を設定する failはステンシルテストが不合格になったときに使われる演算である zfailは ステンシルテストが合格になったものの深度テストが不合格になったときに使われる演算である zpassは 両テストが合格になったときに使われる演算である すべての引数について 指定できる有効な値は gl.zero gl. KEEP gl.replace gl.incr gl.decr gl.invert gl.incr_wrap gl.decr_wrapである B-16

17 ( 表 B-12 続き gl.stencilopseparate( enum face, enum fail, enum zfail, enum zpass 前面に出ているポリゴンと背後に隠れているポリゴンとで別々にステンシルテスト演算を設定する 演算として指定できる有効な値については See gl.stencilop( の項 深度バッファ 表 B-13 には 深度バッファの値の設定に関連した関数をまとめてある 表 B-13 深度バッファ関数 関数 gl.depthfunc( enum func gl.depthmask( boolean flag gl.depthrange( float znear, float zfar gl.cleardepth( float depth gl.polygonoffset( float factor, float units 深度バッファ関数を設定する funcとして指定できる有効な値は gl.never, gl.less, gl.equal, gl.lequal, gl.greater, gl.notequal, gl.gequal, and gl.always である 深度バッファへの書き込みを有効 / 無効にする 深度バッファの範囲を設定する znearの値は zfarよりも小さくなければならない 深度バッファをクリアするために使われる深度の値を設定する 深度を計算するために使われるスケーリングファクタとオフセット単位を設定する レンダリングバッファ 表 B-14 には レンダリングバッファの作成 削除 利用に関連する関数をまとめてある B-17

18 表 B-14 レンダリングバッファ関数 関数 gl.createrenderbuffer( gl.deleterenderbuffer( WebGLRenderbuffer renderbuffer gl.bindrenderbuffer( WebGLRenderbuffer renderbuffer gl.renderbufferstorage( enum internalformat, int width, int height gl.framebufferrenderbuffer( enum attachment, enum renderbuffertarget, WebGLRenderbuffer renderbuffer gl.isrenderbuffer( WebGLRenderbuffer renderbuffer gl.getrenderbufferparameter( enum pname 新しい WebGLRenderBuffer オブジェクトを返す 引数の WebGLRenderBuffer オブジェクトを削除する 指定されたtargetにWebGLRenderbuffer オブジェクトをバインドする 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である 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-18

19 フレームバッファ 表 B-15 には フレームバッファの作成 削除 利用に関連する関数をまとめてある 表 B-15 フレームバッファ関数 関数 gl.createframebuffer( gl.deleteframebuffer( WebGLFramebuffer framebuffer gl.bindframebuffer( WebGLFramebuffer framebuffer gl.checkframebufferstatus( enum target gl.isframebuffer( WebGLFramebuffer framebuffer gl.framebuffertexture2d( enum attachment, enum textarget, WebGLTexture texture, int level 新しい WebGLFramebuffer オブジェクトを返す 指定された WebGLFramebuffer オブジェクトを削除する 引数の target に指定された WebGLFramebuffer オブジェクトをバインドする target は gl.framebuffer でなければならない 現在バインドされているフレームバッファの状態を返す 戻り値は gl.framebuffer_complete gl.framebuffer_incomplete_attachment gl.framebuffer_incomplete_missing_ ATTACHMENT gl.framebuffer_incomplete_ DIMENSIONS gl.framebuffer_unsupportedのなかのどれかである framebuffer が gl.bindframebuffer( でバインドされた WebGLFramebuffer オブジェクトなら true を返す 現在バインドされているフレームバッファに指定された 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

20 ( 表 B-15 続き gl.getframebufferattachmentparameter( enum attachment, enum pname 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 gl.pixelstorei( enum pname, any param 現在バインドされているフレームバッファのアタッチメントパラメータを返す 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である フレームバッファの赤 緑 青 アルファコンポーネントの書き込みを有効 / 無効にする フレームバッファからピクセルデータを読み出す x y width heightは 読み出す矩形リージョンを指定する formatはgl.rgbaでなければならない typeは gl.unsigned_byteでなければならない ピクセルデータはpixels 配列にロードされる typeの gl.unsigned_byteに合わせて 配列はUInt8Array 型でなければならない ピクセルストレージモードを設定する 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

21 その他の関数 表 B-16 には 今までの分類に収まらない関数がまとめられている 表 B-16 その他の関数 関数 gl.enable( enum cap gl.disable( enum cap gl.isenabled( enum cap gl.cullface( enum mode gl.frontface( enum mode gl.clear( uint mask gl.clearcolor( float red, float green, float blue, float alpha 機能を有効にする 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 である 機能を無効にする cap として指定できる値については gl.enable( の項 指定された機能が有効なら 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 ; カラーバッファをクリアするために使う色を設定する B-21

22 ( 表 B-16 続き gl.linewidth( float width gl.scissor( int x, int y, int width, int height gl.samplecoverage( float value, boolean invert gl.geterror( gl.hint( enum mode gl.getsupportedextensions( gl.getextension( string name gl.getcontextattributes( gl.iscontextlost( gl.getparameter( enum pname レンダリングされる線の太さを設定する シザーボックスを設定する x yはシザーボックスの左上隅を指定する width height はシザーボックスのサイズを指定する マルチサンプルカバレッジパラメータを設定する invertは カバレッジマスクを反転するかどうかを指定する 最後に実行したWebGLコマンドのエラーステータスを示すenum 値を返す 戻り値は gl.invalid_enum gl.invalid_value gl. INVALID_ OPERATION gl. OUT_ OF_ MEMORY gl.context_lost_webgl gl.invalid_framebuffer_ OPERATIONのどれかになる 実装のヒントを設定する targetは gl.generate_mipmap_hintでなければならない modeとして指定できる有効な値は gl.dont_care gl.fastest gl.nicestである サポートされているエクステンションを示す文字列配列を返す name というエクステンションがサポートされていればオブジェクトを返す そうでなければ null を返す webgl コンテキストを作成したときに指定された WebGLContextAttributes を返す たとえばモバイルデバイスで電源イベントが発生したなどの理由で webgl コンテキストが失われ 作り直さなければならない場合は true を返す pname という名前の WebGL パラメータの値を返す 有効な pname の値は 表 B-17 B-22

23 パラメータ 表 B-17 には gl.getparameter( メソッドでアクセスできるパラメータをまとめてある 表 B-17 パラメータ パラメータ名 gl.active_texture gl.aliased_line_ WIDTH_RANGE gl.aliased_point_ SIZE_RANGE gl.alpha_bits gl.array_buffer_ BINDING gl.blend gl.blend_color gl.blend_dst_alpha gl.blend_dst_rgb gl.blend_equation_ ALPHA gl.blend_equation_rgb gl.blend_src_alpha gl.blend_src_rgb gl.blue_bits gl.color_clear_value アクティブなテクスチャユニットを示す int 値 表 B-10 の gl.activetexture( エイリアス化された線の太さとしてサポートされている最小値と最大値の 2 つの要素を持つ Float32Array エイリアス化された点のサイズとしてサポートされている最小値と最大値の 2 つの要素を持つ Float32Array 現在のカラーバッファのアルファビットプレーンの数 現在 gl.array_buffer ターゲットにバインドされている WebGLBuffer オブジェクト 表 B-4 の gl.bindbuffer( ブレンディングが有効かどうかを示す論理値 表 B-16 の gl.enable( ブレンドカラーの赤 緑 青 アルファコンポーネントの 4 つの要素を持つ Float32Array 表 B-11 の gl.blendcolor( デスティネーションアルファブレンド関数の enum 値 表 B-11 の gl.blendfuncseparate( デスティネーション RGB ブレンド関数の enum 値 表 B-11 の gl.blendfuncseparate( アルファブレンド式の enum 値 表 B-11 の gl.blendfuncseparate( RGB ブレンド式の enum 値 表 B-11 の gl.blendfuncseparate( ソースアルファブレンド関数の enum 値 表 B-11 の gl.blendfuncseparate( ソース RGB ブレンド関数の enum 値 表 B-11 の gl.blendfuncseparate( 現在のカラーバッファの青ビットプレーンの数 カラーバッファをクリアするために使われる色の赤 緑 青 アルファコンポーネントの 4 つの要素を持つ Float32Array 表 B-16 の gl.clearcolor( B-23

24 ( 表 B-17 続き gl.color_writemask gl.compressed_ TEXTURE_FORMATS カラーバッファの赤 緑 青 アルファコンポーネントへの書き込みが有効かどうかを示す 4 個の論理値の配列 表 B-15 の gl.colormask( WebGL は圧縮されたテクスチャ形式をサポートしないので 常に null gl.cull_face フェースカリングが有効になっているかどうかを示す論理値 表 B-16 の gl.enable( gl.cull_face_mode gl.current_program gl.depth_bits gl.depth_clear_value gl.depth_func 現在のフェースカリングモードを表す enum 値 表 B-16 の gl.cullface( アクティブな WebGLProgram オブジェクト 表 B-6 の gl.useprogram( 現在の深度バッファのビットプレーンの数 深度バッファをクリアするために使われる深度値を示す浮動小数点数 表 B-13 の gl.cleardepth( 深度比較関数の enum 値 B-13 の gl.depthfunc( gl.depth_range 深度バッファの深度の範囲を示す 2 つの要素を持つ Float32Array B-13 の gl.depthrange( gl.depth_test gl.depth_writemask gl.dither gl.element_array_ BUFFER_BINDING gl.framebuffer_ BINDING gl.front_face gl.generate_mipmap_ HINT gl.green_bits gl.line_width gl.max_combined_ TEXTURE_IMAGE_UNITS 深度テストが有効になっているかどうかを示す論理値 表 B-16 の gl.enable( 深度バッファへの書き込みが有効になっているかどうかを示す論理値 表 B-13 の gl.depthmask( フラグメントディザが有効になっているかどうかを示す論理値 表 B-16 の gl.enable( 現在 gl.element_array_buffer ターゲットにバインドされている WebGLBuffer オブジェクト 表 B-4 の gl.bindbuffer( 現在バインドされている WebGLFramebuffer オブジェクト 表 B-15 の gl.bindframebuffer( 三角形ワインディング方向を示す enum 値 表 B-16 の gl.frontface( ミップマップ生成ヒントモードの enum 値 表 B-16 の gl.hint( 現在のカラーバッファの緑ビットプレーンの数 現在の線の太さを示す float 値 表 B-16 の gl.linewidth( 結合された頂点シェーダとフラグメントシェーダでサポートされている最大のテクスチャユニット 少なくとも 8 以上になる B-24

25 ( 表 B-17 続き gl.max_cube_map_ TEXTURE_SIZE gl.max_fragment_ UNIFORM_VECTORS gl.max_renderbuffer_ SIZE gl.max_texture_image_ UNITS gl.max_texture_size gl.max_varying_ VECTORS gl.max_vertex_attribs gl.max_vertex_ TEXTURE_IMAGE_UNITS gl.max_vertex_ UNIFORM_VECTORS 最大のキューブマップテクスチャサイズの概算値 少なくとも 16 以上になる フラグメントシェーダの 4 要素 Uniform 変数の最大数 少なくとも 16 以上になる レンダリングバッファでサポートされている最大の幅と高さ 少なくとも 1 以上になる フラグメントシェーダでサポートされている最大のテクスチャユニット 少なくとも 8 以上になる 最大のテクスチャサイズの概算値 少なくとも 64 以上になる 頂点 フラグメントシェーダの 4 要素 Varying 変数の最大数 少なくとも 8 以上になる 頂点シェーダの 4 要素頂点属性の最大数 少なくとも 8 以上になる 頂点シェーダでサポートされる最大のテクスチャユニット 0 になることがあり得る 頂点シェーダの 4 要素 Uniform 変数の最大数 少なくとも 128 以上になる gl.max_viewport_dims ビューポートの幅と高さの最大値という 2 つの要素を持つ Int32Array gl.num_compressed_ TEXTURE_FORMATS gl.pack_alignment gl.polygon_offset_ FACTOR gl.polygon_offset_ FILL gl.polygon_offset_ UNITS gl.red_bits gl.renderbuffer_ BINDING gl.renderer gl.sample_buffers WebGL は圧縮されたテクスチャ形式をサポートしないので 常に null メモリにピクセルデータを書き込むときに使われるバイトアラインメントを示す int 値 表 B-15 の gl.pixelstorei( ポリゴンオフセットで使われる float のスケーリングファクタ 表 B-13 の gl.polygonoffset( ポリゴンオフセットモードがフィルモードで有効になっているかどうかを示す論理値 表 B-16 の gl.enable( 定数の深度オフセットを作るために使われる float 値 表 B-13 の gl.polygonoffset( 現在のカラーバッファの赤ビットプレーンの数 現在バインドされている WebGLRenderbuffer オブジェクト 表 B-14 の gl.bindrenderbuffer( レンダラの名前の文字列 現在のフレームバッファに与えられたサンプルバッファの数を示す int 値 B-25

26 ( 表 B-17 続き gl.sample_coverage_ INVERT gl.sample_coverage_ VALUE カバレッジ値を反転すべきかどうかを示す論理値 表 B-16 の gl.samplecoverage( 現在のカバレッジ値を示す float 値 表 B-16 の gl.samplecoverage( gl.samples 現在のフレームバッファのカバレッジマスクサイズを示す int 値 gl.scissor_box gl.scissor_test gl.shading_language_ VERSION gl.stencil_back_fail 現在のシザーボックスの x y width height の 4 つの要素を持つ Int32Array 表 B-16 の gl.scissor( シザーテストが有効になっているかどうかを示す論理値 表 B-16 の gl.enable( 実装が使っているシェーダ言語のバージョンを示す文字列 例 : WebGL GLSL ES 1.0 ステンシルテストが不合格になったときに 背後に隠れているポリゴンのために使われる演算を示す enum 値 表 B-12 の gl.stencilopseparate( gl.stencil_back_func 背後に隠れているポリゴンのために使われる比較関数を示す enum 値 表 B-12 の gl.stencilfuncseparate( gl.stencil_back_pass_ DEPTH_FAIL gl.stencil_back_pass_ DEPTH_PASS gl.stencil_back_ref gl.stencil_back_ VALUE_MASK gl.stencil_back_ WRITEMASK gl.stencil_bits gl.stencil_clear_ VALUE gl.stencil_fail gl.stencil_func ステンシルテストが合格になったものの深度テストが不合格になったときに 背後に隠れているポリゴンのために使われる演算を示す enum 値 表 B-12 の gl.stencilopseparate( ステンシルテストと深度テストの両方が合格になったときに 背後に隠れているポリゴンのために使われる演算を示す enum 値 表 B-12 の gl.stencilopseparate( 背後に隠れているポリゴンのために使われる参照値 表 B-12 の gl.stencilfuncseparate( 背後に隠れているポリゴンが比較の前に参照値とステンシルバッファをマスクするために使う int のマスク 表 B-12 の gl.stencilfuncseparate( 背後に隠れているポリゴンのための書き込みを制御する int のマスク 表 B-12 の gl.stencilmaskseparate( ステンシルバッファのビットプレーンの数 ステンシルバッファをクリアするために使われる int のインデックス値 表 B-12 の gl.clearstencil( ステンシルテストが不合格になったときに 前面に出ているポリゴンのために使われる演算を示す enum 値 表 B-12 の gl.stencilopseparate( 前面に出ているポリゴンのために使われる比較関数を示す enum 値 表 B-12 の gl.stencilfuncseparate( B-26

27 ( 表 B-17 続き gl.stencil_pass_ DEPTH_FAIL gl.stencil_pass_ DEPTH_PASS gl.stencil_ref ステンシルテストが合格になったものの深度テストが不合格になったときに 前面に出ているポリゴンのために使われる演算を示す enum 値 表 B-12 の gl.stencilopseparate( ステンシルテストと深度テストの両方が合格になったときに 前面に出ているポリゴンのために使われる演算を示す enum 値 表 B-12 の gl.stencilopseparate( 前面に出ているポリゴンのために使われる参照値 表 B-12 の gl.stencilfuncseparate( gl.stencil_test ステンシルテストが有効になっているかどうかを示す論理値 表 B-16 の gl.enable( gl.stencil_value_mask gl.stencil_writemask gl.subpixel_bits gl.texture_binding_2d gl.texture_binding_ CUBE_MAP gl.unpack_alignment gl.unpack_colorspace_ CONVERSION_WEBGL gl.unpack_flip_y_ WEBGL gl.unpack_ PREMULTIPLY_ALPHA_ WEBGL gl.vendor 前面に出ているポリゴンが比較の前に参照値とステンシルバッファをマスクするために使う int のマスク 表 B-12 の gl.stencilfuncseparate( 前面に出ているポリゴンのための書き込みを制御する int のマスク 表 B-12 の gl.stencilmaskseparate( サブピクセルビットの数の概算値 少なくとも 4 以上になる 現在 gl.texture_2d ターゲットにバインドされている Web GLTexture オブジェクト 表 B-10 の gl.bindtexture( 現在 gl.texture_cube_map ターゲットにバインドされている WebGLTexture オブジェクト 表 B-10 の gl.bindtexture( メモリからピクセルデータを読み出すときに使われるバイトアラインメントを示す int 値 表 B-15 の gl.pixelstorei( イメージデータをロードするときに使われるカラースペース変換を示す enum 値 初期状態では gl.browser_default_webgl になっている 表 B-15 の gl.pixelstorei( テクスチャイメージデータが縦軸に沿って反転しているかどうかを示す論理値 表 B-15 の gl.pixelstorei( イメージデータをロードするときに アルファチャネルが RGB チャネルに掛け合わされるかどうかを示す論理値 表 B-15 の gl.pixelstorei( 実装に責任を負う企業名の文字列 gl.version 実装で使われている WebGL バージョンを示す文字列 例 :WebGL 1.0 gl.viewport 現在のビューポートの x y width height という 4 つの要素を持つ Int32Array 表 B-9 の gl.viewport( B-27

PowerPoint Presentation

PowerPoint Presentation 8-1 8. テクスチャマッピング 8.1. テクスチャマッピングの原理 狭義には, 図のように, 与えられた画像を物体に貼り付ける方法. マッピングには投影法, 極座標変換, パラメータマッピングなどがある (1 年 コンピュータ グラフィックス ). 広義にはバンプマッピングなども含まれる. t y s z x 8-2 8.2. テクスチャマッピングの設定方法 全体の流れ 1) 原図ビットマップデータを内部形式に変換

More information

Kageyama (Kobe Univ.) / 36

Kageyama (Kobe Univ.) / 36 DrawArrays DrawElements 05 1 2015.05.19 Kageyama (Kobe Univ.) 2015.05.19 1 / 36 Kageyama (Kobe Univ.) 2015.05.19 2 / 36 Kageyama (Kobe Univ.) 2015.05.19 3 / 36 Web アプリ HTML + CSS + JavaScript + シェーダソースコード

More information

コンピュータグラフィックスS 演習資料

コンピュータグラフィックスS 演習資料 コンピュータグラフィックス S 演習資料 第 4 回シェーディング マッピング 九州工業大学情報工学部システム創成情報工学科講義担当 : 尾下真樹 1. 演習準備 今回の演習も 前回までの演習で作成したプログラムに続けて変更を行う まずは シェーディングの演習のため 描画処理で 回転する一つの四角すいを描画するように変更する 画面をクリア ( ピクセルデータと Z バッファの両方をクリア ) glclear(

More information

OpenGL & GLUTの基本関数の説明

OpenGL & GLUTの基本関数の説明 コンピュータグラフィックス S 演習資料 OpenGL & GLUT の基本関数の説明 1. OpenGL & GLUT 2. GLUT 2.1. GLUT void glutinit( int argc, char ** argv ); glut void glutinitdysplaymode( unsigned int mode ); mode void glutinitwindowsize(

More information

Microsoft Word - ggbook.docx

Microsoft Word - ggbook.docx 62 4GPU (Graphics Processing Unit) 4.1 4.1.1 63 63 ( 64) " () " " " 64 63 4.1.2 () GPU (Graphics Procssing Unit) (Transform) (Lighting ) T & L (Transform and Lighting) " CG 4 4 4 4 () 4 4 4 4 4 4 4 16

More information

WebGL Safari WebGL WebGL Safari Kageyama (Kobe Univ.) / 5

WebGL Safari WebGL WebGL   Safari Kageyama (Kobe Univ.) / 5 04 1 2015.05.12 Kageyama (Kobe Univ.) 2015.05.12 1 / 55 WebGL Safari WebGL WebGL http://www.khronos.org/webgl/ http://www.khronos.org/webgl/wiki/demo_repository Safari Kageyama (Kobe Univ.) 2015.05.12

More information

コンピュータグラフィックス特論Ⅱ

コンピュータグラフィックス特論Ⅱ コンピュータグラフィックス特論 Ⅱ 第 5 回影の表現 ( 高度な描画技術 ) 九州工業大学尾下真樹 影の表現 レンダリング画像の現実感 ( リアリティ ) を出す上で 影の描画は不可欠 影の有無は 画面の自然さに大きく影響 特に空中に浮いている物体を描画するようなときには 影があると 高さが把握しやすい 影の描画の技術 いくつかの方法が利用されている 高度な描画技術が必要となる アルファブレンディング

More information

コンピュータグラフィックス特論Ⅱ

コンピュータグラフィックス特論Ⅱ 影の表現 コンピュータグラフィックス特論 Ⅱ 第 5 回影の表現 ( 高度な描画技術 ) 九州工業大学尾下真樹 2019 年度 レンダリング画像の現実感 ( リアリティ ) を出す上で 影の描画は不可欠 影の有無は 画面の自然さに大きく影響 特に空中に浮いている物体を描画するようなときには 影があると 高さが把握しやすい 影の描画の技術 いくつかの方法が利用されている 高度な描画技術が必要となる アルファブレンディング

More information

WebGL X LR301 Kageyama (Kobe Univ.) Visualization / 45

WebGL X LR301 Kageyama (Kobe Univ.) Visualization / 45 2014.05.13 X021 2014 LR301 Kageyama (Kobe Univ.) Visualization 2014.05.13 1 / 45 Kageyama (Kobe Univ.) Visualization 2014.05.13 2 / 45 Kageyama (Kobe Univ.) Visualization 2014.05.13 3 / 45 Web アプリ HTML

More information

DrawArrays DrawElements References Kageyama (Kobe Univ.) Visualization / 34

DrawArrays DrawElements References Kageyama (Kobe Univ.) Visualization / 34 WebGL *1 DrawArrays DrawElements 2013.05.14 *1 X021 2013 LR301 Kageyama (Kobe Univ.) Visualization 2013.05.14 1 / 34 DrawArrays DrawElements References Kageyama (Kobe Univ.) Visualization 2013.05.14 2

More information

第7章 レンダリング

第7章 レンダリング 7 April 11, 2017 1 / 59 7.1 ( ) CG 3 ( ) 2 / 59 7.2 7.2.1 ( ) 3 (rendering) 1 / (hidden line/surface calculation) a (outer normal algorithm) b Z (Z-buffer algorithm) c (scan-line algorithm) 2 (shading)

More information

第7章 レンダリング

第7章 レンダリング 7 May 18, 2012 1 / 60 71 ( ) CG 3 ( ) 2 / 60 72 71 ( ) 3 (rendering) 1 / (hidden line/surface calculation) a (outer normal algorithm) b Z (Z-buffer algorithm) c (scan-line algorithm) 2 (shading) a (flat

More information

ゲームグラフィックス特論

ゲームグラフィックス特論 ゲームグラフィックス特論 第 13 回遅延レンダリング 2 Render To Texture テクスチャにレンダリング 3 レンダリング結果を素材として利用する 映り込みや屈折などの光学的効果 1. 視点を変更してレンダリングする 2. レンダリング結果をテクスチャとしてマッピングする このレンダリング結果は直接には画面に表示されない 素材を作成するために画面表示を行わずにレンダリングする オフスクリーンレンダリング

More information

C.1 GLSL ES 言語リファレンス この付録は WebGL 用のシェーダをプログラムするために使われるGLSL ES 言語のリファレンスである GLSL ESの詳細は GLSL_ES_Specifi

C.1 GLSL ES 言語リファレンス この付録は WebGL 用のシェーダをプログラムするために使われるGLSL ES 言語のリファレンスである GLSL ESの詳細は  GLSL_ES_Specifi 付録 C OpenGL ES Shading Language C.1 GLSL ES 言語リファレンス この付録は WebGL 用のシェーダをプログラムするために使われるGLSL ES 言語のリファレンスである GLSL ESの詳細は http://www.khronos.org/registry/gles/specs/2.0/ GLSL_ES_Specification_1.0.17.pdfの公式仕様書を参照していただきたい

More information

WebGL Safari WebGL Kageyama (Kobe Univ.) Visualization / 55

WebGL Safari WebGL   Kageyama (Kobe Univ.) Visualization / 55 WebGL WebGL 2014.04.22 X021 2014 Kageyama (Kobe Univ.) Visualization 2014.04.22 1 / 55 WebGL Safari WebGL http://bit.ly/1qxgljb Kageyama (Kobe Univ.) Visualization 2014.04.22 2 / 55 Kageyama (Kobe Univ.)

More information

WebGL References Kageyama (Kobe Univ.) Visualization 2013.05.07 *4 2 / 54

WebGL References Kageyama (Kobe Univ.) Visualization 2013.05.07 *4 2 / 54 WebGL *1 2013.05.07 *2 *1 X021 2013 LR301 *2 05/08: Kageyama (Kobe Univ.) Visualization 2013.05.07 *3 1 / 54 WebGL References Kageyama (Kobe Univ.) Visualization 2013.05.07 *4 2 / 54 Chrome Firefox http://www.khronos.org/webgl/wiki/demo_repository

More information

RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用

RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用 RX ファミリ用 C/C++ コンパイラ V.1.00 Release 02 ご使用上のお願い RX ファミリ用 C/C++ コンパイラの使用上の注意事項 4 件を連絡します #pragma option 使用時の 1 または 2 バイトの整数型の関数戻り値に関する注意事項 (RXC#012) 共用体型のローカル変数を文字列操作関数で操作する場合の注意事項 (RXC#013) 配列型構造体または共用体の配列型メンバから読み出した値を動的初期化に用いる場合の注意事項

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ

第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイ 第 2 章インタフェース定義言語 (IDL) IDL とは 言語や OS に依存しないインタフェース定義を行うためのインタフェース定義言語です CORBA アプリケーションを作成する場合は インタフェースを定義した IDL ファイルを作成する必要があります ここでは IDL の文法や IDL ファイルの作成方法 コンパイル方法について説明します IDL ファイルの作成にあたっては INTERSTAGE

More information

3D CG Kageyama (Kobe Univ.) Visualization / 22

3D CG Kageyama (Kobe Univ.) Visualization / 22 WebGL 2014.07.15 X021 2014 Kageyama (Kobe Univ.) Visualization 2014.07.15 1 / 22 3D CG Kageyama (Kobe Univ.) Visualization 2014.07.15 2 / 22 Kageyama (Kobe Univ.) Visualization 2014.07.15 3 / 22 GLSL OpenGL

More information

JAPLA研究会資料 2010/4/24

JAPLA研究会資料 2010/4/24 JAPLA 研究会資料 2010/4/24 J の OpenGL グラフィックス - その 8 Texture によるパターンの貼り付け - サイコロを作って動かす - 西川利男 0. はじめにこれまで OpenGL グラフィックスもいろいろやってきた [1]~[7] OpenGL の Texture 機能を利用したパターンの貼り付け処理はさまざまな用途に使われる 今回はこれを利用してサイコロを作ってみた

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 講座準備 講座資料は次の URL から DL 可能 https://goo.gl/jnrfth 1 ポインタ講座 2017/01/06,09 fumi 2 はじめに ポインタはC 言語において理解が難しいとされる そのポインタを理解することを目的とする 講座は1 日で行うので 詳しいことは調べること 3 はじめに みなさん復習はしましたか? 4 & 演算子 & 演算子を使うと 変数のアドレスが得られる

More information

Kageyama (Kobe Univ.) Visualization / 32

Kageyama (Kobe Univ.) Visualization / 32 WebGL 2014.06.24 X021 2014 Kageyama (Kobe Univ.) Visualization 2014.06.24 1 / 32 Kageyama (Kobe Univ.) Visualization 2014.06.24 2 / 32 Kageyama (Kobe Univ.) Visualization 2014.06.24 3 / 32 kobe u logo

More information

Microsoft PowerPoint - ruby_instruction.ppt

Microsoft PowerPoint - ruby_instruction.ppt Ruby 入門 流れ Ruby の文法 画面に出力 キーボードから入力 数値 文字列 変数 配列 ハッシュ 制御構造 ( 分岐 繰り返しなど ) if while case for each 関数 クラス Ruby とは プログラミング言語 インタプリタ言語 オブジェクト指向 国産 ウェブアプリケーションフレームワーク RubyOnRails で注目 弊社での Web アプリケーション開発に利用 画面に出力

More information

JavaScriptプログラミング入門 2.JavaScriptの概要

JavaScriptプログラミング入門 2.JavaScriptの概要 JavaScript プログラミング入門 1.JavaScript の概要 08T4067L 横田翔 2-1 オブジェクトベース言語としての JavaScript 2-1-1 オブジェクト指向言語と オブジェクト指向言語 オブジェクトベース言語 対象となるオブジェクトがどのようなデータ 操作方法を持っているかというようにモデル化してプログラミングを行う オブジェクト指向の概念の中でも基本的なものだけを採用していて

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 03 変数と式 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 3.1 変数と型 変数とは p.60 C 言語のプログラム中で, 入力あるいは計算された数や文字を保持するには, 変数を使用する. 名前がついていて値を入れられる箱, というイメージ. 変数定義 : 変数は変数定義 ( 宣言 ) してからでないと使うことはできない. 代入 : 変数には値を代入できる.

More information

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y  小幡智裕 Java Script プログラミング入門 3-6~3-7 茨城大学工学部情報工学科 08T4018Y 小幡智裕 3-6 組み込み関数 組み込み関数とは JavaScript の内部にあらかじめ用意されている関数のこと ユーザ定義の関数と同様に 関数名のみで呼び出すことができる 3-6-1 文字列を式として評価する関数 eval() 関数 引数 : string 式として評価する文字列 戻り値 :

More information

本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です

本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です ACTIVE TOUCH 拡張部品取扱説明書 - 共有メモリアクセスコンポーネント - 1. はじめに 1 (1) 概要... 1 (2) INpMac のインストール... 1 2. Windows アプリケーションとの連携 2 (1) コントロール ( 部品 ) の登録... 2 (2) データの関連付け... 3 3. INtime アプリケーションとの連携 4 (1) 部品 ( コンポーネント

More information

WebGL Kageyama (Kobe Univ.) Visualization / 39

WebGL Kageyama (Kobe Univ.) Visualization / 39 WebGL *1 WebGL 2013.04.30 *1 X021 2013 LR301 Kageyama (Kobe Univ.) Visualization 2013.04.30 1 / 39 WebGL Kageyama (Kobe Univ.) Visualization 2013.04.30 2 / 39 3 1 PC ID Kageyama (Kobe Univ.) Visualization

More information

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード]

Microsoft PowerPoint - exp2-02_intro.ppt [互換モード] 情報工学実験 II 実験 2 アルゴリズム ( リスト構造とハッシュ ) 実験を始める前に... C 言語を復習しよう 0. プログラム書ける? 1. アドレスとポインタ 2. 構造体 3. 構造体とポインタ 0. プログラム書ける? 講義を聴いているだけで OK? 言語の要素技術を覚えれば OK? 目的のプログラム? 要素技術 データ型 配列 文字列 関数 オブジェクト クラス ポインタ 2 0.

More information

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科 ポインタ変数の扱い方 1 ポインタ変数の宣言 int *p; double *q; 2 ポインタ変数へのアドレスの代入 int *p; と宣言した時,p がポインタ変数 int x; と普通に宣言した変数に対して, p = &x; は x のアドレスのポインタ変数 p への代入 ポインタ変数の扱い方 3 間接参照 (

More information

JavaScript 演習 2 1

JavaScript 演習 2 1 JavaScript 演習 2 1 本日の内容 演習問題 1の解答例 前回の続き document.getelementbyid 関数 演習問題 4 イベント処理 基本的なフォーム テキストボックスの入力値の取得 演習問題 5 演習問題 1 prompt メソッドと document.write メソッドを用いて, ユーザから入力されたテキストと文字の色に応じて, 表示内容を変化させる JavaScript

More information

Fair Curve and Surface Design System Using Tangent Control

Fair Curve and Surface Design System Using Tangent Control 情報工学 2016 年度後期第 6 回 [11 月 16 日 ] 静岡大学工学研究科機械工学専攻ロボット 計測情報講座創造科学技術大学院情報科学専攻 三浦憲二郎 講義アウトライン [11 月 16 日 ] ビジュアル情報処理 3 モデリング 3.3 曲線 曲面 OpenGL 色の取り扱い シェーディング 照明モデルと照光処理 拡散光 鏡面光 環境光 ビジュアル情報処理 3-3 曲線 曲面 3-3-1

More information

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版   Copyright 2018 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 辞書項目 API 3.1. 最新バージョン 3.1.1. 最新バージョンの辞書を取得する 3.2. 辞書項目 3.2.1. 辞書項目を取得する 3.2.2.

More information

プログラミング基礎I(再)

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 2018/10/05 竹島研究室創成課題 第 2 回 C 言語演習 変数と演算 東京工科大学 加納徹 前回の復習 Hello, world! と表示するプログラム 1 #include 2 3 int main(void) { 4 printf("hello, world! n"); 5 return 0; 6 } 2 プログラム実行の流れ 1. 作業ディレクトリへの移動 $ cd

More information

スライド 1

スライド 1 東北大学工学部機械知能 航空工学科 2015 年度 5 セメスター クラス D 計算機工学 6. MIPS の命令と動作 演算 ロード ストア ( 教科書 6.3 節,6.4 節 ) 大学院情報科学研究科鏡慎吾 http://www.ic.is.tohoku.ac.jp/~swk/lecture/ レジスタ間の演算命令 (C 言語 ) c = a + b; ( 疑似的な MIPS アセンブリ言語 )

More information

2 2 GLUI 2 GLUI 2.1 GLUI GLUI OpenGL OpenGL glut OpenGL glut C++ Linux, Windows (Visual C++, gcc), Macintosh glut glut GUI glut GUI CG glmultmatrix()

2 2 GLUI 2 GLUI 2.1 GLUI GLUI OpenGL OpenGL glut OpenGL glut C++ Linux, Windows (Visual C++, gcc), Macintosh glut glut GUI glut GUI CG glmultmatrix() 1 20 (2) OpenGL+GUI(GLUI) 3DCG TA 2008 10 27 1 OpenGL OpenGL GUI GLUI 1.1 http://www.cyber.t.u-tokyo.ac.jp/~kuni/enshu2008/ 1.2 TA 1.3 2008/12/4( ) EyeToy 2 2 GLUI 2 GLUI 2.1 GLUI GLUI OpenGL OpenGL glut

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 基幹 2 ( 月 4) 11: 動的メモリ確保 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2014-06-22 1 まとめ : ポインタを使った処理 内容 説明 呼び出し元の変数を書き換える第 9 回 文字列を渡す 配列を渡す 第 10 回 ファイルポインタ

More information

もう少し詳しい説明 1. アルゴリズムを構築するための 4 枚のサンプル画像を次々と読み込むここで重要なことは画像を順番に読み込むための文字列操作 for 文の番号 i を画像の番号として使用している strcpy は文字列のコピー,sprinf は整数を文字列に変換,strcat は文字列を繋げる

もう少し詳しい説明 1. アルゴリズムを構築するための 4 枚のサンプル画像を次々と読み込むここで重要なことは画像を順番に読み込むための文字列操作 for 文の番号 i を画像の番号として使用している strcpy は文字列のコピー,sprinf は整数を文字列に変換,strcat は文字列を繋げる サンプルプログラムの概要 1. アルゴリズムを構築するための 4 枚のサンプル画像を次々と読み込む 2. RGB 分離を行い,R 画像を用いて閾値 40 で 2 値化 3. ラベリングを行う ( ここで対象物の数を数えることになる ) 4. ラベル付された対象の重心を計算 5. ラベル値と重心位置を 2 値画像に表示 ( 赤い数字がラベル値, 緑色の点が重心位置を表している ) 6. テキストファイルに結果を書き出し

More information

7 ポインタ (P.61) ポインタを使うと, メモリ上のデータを直接操作することができる. 例えばデータの変更 やコピーなどが簡単にできる. また処理が高速になる. 7.1 ポインタの概念 変数を次のように宣言すると, int num; メモリにその領域が確保される. 仮にその開始のアドレスを 1

7 ポインタ (P.61) ポインタを使うと, メモリ上のデータを直接操作することができる. 例えばデータの変更 やコピーなどが簡単にできる. また処理が高速になる. 7.1 ポインタの概念 変数を次のように宣言すると, int num; メモリにその領域が確保される. 仮にその開始のアドレスを 1 7 ポインタ (P.61) ポインタを使うと, メモリ上のデータを直接操作することができる. 例えばデータの変更 やコピーなどが簡単にできる. また処理が高速になる. 7.1 ポインタの概念 変数を次のように宣言すると, int num; メモリにその領域が確保される. 仮にその開始のアドレスを 10001 番地とすると, そこから int 型のサイズ, つまり 4 バイト分の領域が確保される.1

More information

Javaプログラムの実行手順

Javaプログラムの実行手順 戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 基幹 7 ( 水 5) 12: コマンドライン引数 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2016-06-29 1 まとめ : ポインタを使った処理 内容呼び出し元の変数を書き換える文字列を渡す 配列を渡すファイルポインタ複数の値を返す大きな領域を確保する

More information

UIOUSBCOM.DLLコマンドリファレンス

UIOUSBCOM.DLLコマンドリファレンス UIOUSBCOM.DLL UIOUSBCOM.DLL Command Reference Rev A.1.0 2008/11/24 オールブルーシステム (All Blue System) ウェブページ : www.allbluesystem.com コンタクト :contact@allbluesystem.com 1 このマニュアルについて...3 1.1 著作権および登録商標...3 1.2

More information

memo

memo 計数工学プログラミング演習 ( 第 3 回 ) 2017/04/25 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 内容 ポインタの続き 引数の値渡しと参照渡し 構造体 2 ポインタで指されるメモリへのアクセス double **R; 型 R[i] と *(R+i) は同じ意味 意味 R double ** ポインタの配列 ( の先頭 ) へのポインタ R[i]

More information

2 2 2 OpenGL (R,G,B,A) 2.1 OpenGL (x y) width height pixels void glreadpixels(glint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum t

2 2 2 OpenGL (R,G,B,A) 2.1 OpenGL (x y) width height pixels void glreadpixels(glint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum t 1 22 (2) OpenGL+GUI(GLUI) 3DCG TA 2010 10 18 1 OpenGL OpenGL GUI GLUI 1.1 http://www.cyber.t.u-tokyo.ac.jp/~kuni/enshu2010/ 1.2 TA 1.3 2010/12/6( ) USB 2 2 2 OpenGL (R,G,B,A) 2.1 OpenGL (x y) width height

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 総機 1 ( 月 1) 11: 動的メモリ確保 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2015-06-22 1 まとめ : ポインタを使った処理 内容 説明 呼び出し元の変数を書き換える第 9 回 文字列を渡す 配列を渡す 第 10 回 ファイルポインタ

More information

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問 Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問のメソッドを追加する public static void main(string[] args) {

More information

CONTEC DIOプロバイダ ユーザーズガイド

CONTEC DIOプロバイダ ユーザーズガイド DIO プロバイダユーザーズガイド - 1 - DIO プロバイダ CONTEC DIO ボード Version 1.1.2 ユーザーズガイド July 17, 2012 備考 ORiN2SDK2.0.14 以降, このプロバイダは CONTEC 社の API-DIO(WDM) を使用しています. 以前 までの API-DIO(98PC) を使用する場合は,DIO98 プロバイダを使用してください.

More information

デジタル表現論・第6回

デジタル表現論・第6回 デジタル表現論 第 6 回 劉雪峰 ( リュウシュウフォン ) 2016 年 5 月 16 日 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 6 回 2016 年 5 月 16 日 1 / 16 本日の目標 Java プログラミングの基礎配列 ( 復習 関数の値を配列に格納する ) 文字列ファイルの書き込み 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 6 回 2016 年

More information

sinfI2005_VBA.doc

sinfI2005_VBA.doc sinfi2005_vba.doc MS-ExcelVBA 基礎 (Visual Basic for Application). 主な仕様一覧 () データ型 主なもの 型 型名 型宣言文字 長さ 内容 整数型 Integer % 2 バイト -32,768 32,767 長整数型 Long & 4 バイト -2,47,483,648 2,47,483,647 単精度浮動小数点数 Single 型!

More information

libaux.dvi

libaux.dvi AUX OpenGL 1 OpenGL (AUX libaux.a) OpenGL Programming Guide () OpenGL 1 OpenGL OS (API) OS OS OS OpenGL Windows Windows X X OpenGL Programming Guide AUX toolkit AUX OS OpenGL SGI OpenGL OS OpenGL AUX Windows

More information

開発・運用時のガイド JDK8への移行に伴う留意点 [UNIX]

開発・運用時のガイド JDK8への移行に伴う留意点 [UNIX] 開発 運用時のガイド [UNIX] JDK8 への移行に伴う留意点 2015.10 O c t o b e r はじめに 本書は 開発 運用フェーズで使用するドキュメントとして Java TM Development Kit 8 への移行に伴う 留意点について記述しています 1. 対象とする読者本書は Java TM Development Kit 8 を使用し システムを設計 構築 運用する立場にある方を対象としています

More information

Java知識テスト問題

Java知識テスト問題 Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください

More information

Kageyama (Kobe Univ.) 2015.06.23 2 / 41

Kageyama (Kobe Univ.) 2015.06.23 2 / 41 2015 2015.06.23 Kageyama (Kobe Univ.) 2015.06.23 1 / 41 Kageyama (Kobe Univ.) 2015.06.23 2 / 41 [ 1, +1] [ 1, +1] [ 1, +1] Kageyama (Kobe Univ.) 2015.06.23 3 / 41 Kageyama (Kobe Univ.) 2015.06.23 4 / 41

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンパイラとプログラミング言語 第 11 週 条件分岐文と繰り返し文のコード生成 2014 年 6 月 18 日 金岡晃 授業計画 第 1 週 (4/9) コンパイラの概要 第 8 週 (5/28) 下向き構文解析 / 構文解析プログラム 第 2 週 (4/16) コンパイラの構成 第 9 週 (6/4) 中間表現と意味解析 第 3 週 (4/23) プログラミング言語の形式的な記述 第 10 週

More information

1/8 ページ Java 基礎文法最速マスター Java Javaの文法一覧です 他の言語をある程度知っている人はこれを読めばJavaの基礎をマスターしてJavaを書くことができるようになっています 簡易リファレンスとしても利用できると思いますので これは足りないと思うものがあれば教えてください 1. 基礎 class の作成プログラムはclassに記述します たとえばSampleという名前のclassを作る場合

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 基幹 7 ( 水 5) 13: 構造体 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2016-07-06 1 例題 : 多角形の面積 n = 5 (5 角形 ) の例 n 1 n 1 1 p 1 T 0 S = i=0 p 0 T i = i=0 2

More information

Microsoft PowerPoint - CproNt02.ppt [互換モード]

Microsoft PowerPoint - CproNt02.ppt [互換モード] 第 2 章 C プログラムの書き方 CPro:02-01 概要 C プログラムの構成要素は関数 ( プログラム = 関数の集まり ) 関数は, ヘッダと本体からなる 使用する関数は, プログラムの先頭 ( 厳密には, 使用場所より前 ) で型宣言 ( プロトタイプ宣言 ) する 関数は仮引数を用いることができる ( なくてもよい ) 関数には戻り値がある ( なくてもよい void 型 ) コメント

More information

デジタルテレビネットワーク機能 IC カードアクセス仕様書 デジタルテレビ情報化研究会 Copyright 2008 ALL RIGHTS RESERVED シャープ株式会社ソニー株式会社株式会社東芝株式会社日立製作所松下電器産業株式会社本仕様の内容は予告無しに変更されることがあります Docume

デジタルテレビネットワーク機能 IC カードアクセス仕様書 デジタルテレビ情報化研究会 Copyright 2008 ALL RIGHTS RESERVED シャープ株式会社ソニー株式会社株式会社東芝株式会社日立製作所松下電器産業株式会社本仕様の内容は予告無しに変更されることがあります Docume デジタルテレビネットワーク機能 IC カードアクセス仕様書 デジタルテレビ情報化研究会 Copyright 2008 ALL RIGHTS RESERVED シャープ株式会社ソニー株式会社株式会社東芝株式会社日立製作所松下電器産業株式会社本仕様の内容は予告無しに変更されることがあります Document Version: 1.0 Date: 23 rd April, 2008 Name: 目次 1.

More information

デジタル表現論・第4回

デジタル表現論・第4回 デジタル表現論 第 4 回 劉雪峰 ( リュウシュウフォン ) 2016 年 5 月 2 日 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 4 回 2016 年 5 月 2 日 1 / 14 本日の目標 Java プログラミングの基礎 出力の復習 メソッドの定義と使用 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 4 回 2016 年 5 月 2 日 2 / 14 出力 Systemoutprint()

More information

Microsoft PowerPoint - 09.pptx

Microsoft PowerPoint - 09.pptx 情報処理 Ⅱ 第 9 回 2014 年 12 月 22 日 ( 月 ) 関数とは なぜ関数 関数の分類 自作関数 : 自分で定義する. ユーザ関数 ユーザ定義関数 などともいう. 本日のテーマ ライブラリ関数 : 出来合いのもの.printf など. なぜ関数を定義するのか? 処理を共通化 ( 一般化 ) する プログラムの見通しをよくする 機能分割 ( モジュール化, 再利用 ) 責任 ( あるいは不具合の発生源

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 総機 1 ( 月 1) 13: 構造体 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2015-07-06 1 例題 : 多角形の面積 n = 5 (5 角形 ) の例 n 1 n 1 p 1 S = T i = 1 2 p i p i+1 i=0 i=0

More information

計算機プログラミング

計算機プログラミング プログラミング言語 C 第 8 講 システム標準関数 ( 入出力関数 ) システム標準関数 システムに備え付けの関数 例 ) printf( ); scanf( ); 標準出力関数 標準入力関数 A. 入出力用の関数 高水準入出力関数 高水準言語 (OS に依存しない ) 低水準入出力関数 機械語レベル (OS に依存 ) B. それ以外の関数 引数と関数の型 ( 戻り値 ) に注目しましょう 例

More information

4 ソフトウェア工学 Software Engineering 抽象データ型 ABSTRACT DATA TYPE データ抽象 (data abstraction) 目的 : データ構造を ( 実装に依存せずに ) 抽象的に定義 方法 : データにアクセス (read, write) する関数の仕様

4 ソフトウェア工学 Software Engineering 抽象データ型 ABSTRACT DATA TYPE データ抽象 (data abstraction) 目的 : データ構造を ( 実装に依存せずに ) 抽象的に定義 方法 : データにアクセス (read, write) する関数の仕様 4 ソフトウェア工学 Software Engineering 抽象データ型 STRT DT TYPE データ抽象 (data abstraction) 目的 : データ構造を ( 実装に依存せずに ) 抽象的に定義 方法 : データにアクセス (read, write) する関数の仕様のみを記述 スタック (stack) の例 D push(d,s) S) pop(s) top(s)= top(s)=

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 2 回目 ようこそ Java へ 今日の講義で学ぶ内容 画面へのメッセージの表示 文字や文字列 数値を表現するリテラル 制御コードを表すエスケープシーケンス 画面出力の基本形 ソースファイル名 : クラス名.java class クラス名 System.out.println(" ここに出力したい文字列 1 行目 "); System.out.println(" ここに出力したい文字列

More information

プログラミング入門1

プログラミング入門1 プログラミング入門 2 第 8 回表形式データ (1) 1 テーマ : 表形式データ (1) 配列と複合データを用いた表形式データ データの登録 データの検索 データの更新 実際的はソフトウェアでは 表形式データの ( 例えば データベースのデータ ) を利用する場面が非常に多く とても重要である そこで 表形式を扱うプログラミングを繰り返しとりあげる 2 テーマ : 表形式データ (1) 配列と複合データを用いた表形式データ

More information

Brekeke PBX - Version 2.1 ARSプラグイン開発ガイド

Brekeke PBX - Version 2.1 ARSプラグイン開発ガイド Brekeke PBX Version 2.1 ARS プラグイン開発ガイド Brekeke Software, Inc. バージョン Brekeke PBX v2.1 ARS プラグイン開発ガイド, 2008 年 2 月 著作権本書の著作権は Brekeke Software, Inc. にあります Copyright 2003-2008 Brekeke Software, Inc. 本書の一部または全部を

More information

メソッドのまとめ

メソッドのまとめ 配列 (2) 2 次元配列, String http://jv2005.cis.k.hosei.c.jp/ 授業の前に自己点検 配列変数に格納される配列の ID と配列の実体の区別ができていますか 配列変数の宣言と配列の実体の生成の区別ができていますか メソッドの引数に配列が渡されるとき 実際に渡されるものは何ですか このことの重要な帰結は何ですか 引数の値渡しと参照渡しということばを例を挙げて説明できますか

More information

Microsoft Word - no202.docx

Microsoft Word - no202.docx 1.4 ポインタと配列 ポインタ変数は前回説明したように 値の入っているアドレスを示す変数です では 配列はどの ようにメモリ上に格納されるか調べてみましょう ex07.c /* ポインタと配列の関係 */ int a[3]={1, 2, 3; /* int 型の大きさ 3 の配列として宣言 */ int *i; /* int 型へのポインタとして宣言 */ double x[3] = {1.0,

More information

memo

memo 計数工学プログラミング演習 ( 第 3 回 ) 2016/04/26 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 内容 ポインタ malloc 構造体 2 ポインタ あるメモリ領域 ( アドレス ) を代入できる変数 型は一致している必要がある 定義時には値は不定 ( 何も指していない ) 実際にはどこかのメモリを指しているので, #include

More information

Java講座

Java講座 ~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト

More information

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき

More information

memo

memo 数理情報工学演習第一 C プログラミング演習 ( 第 5 回 ) 2015/05/11 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : プロトタイプ宣言 ヘッダーファイル, プログラムの分割 課題 : 疎行列 2 プロトタイプ宣言 3 C 言語では, 関数や変数は使用する前 ( ソースの上のほう ) に定義されている必要がある. double sub(int

More information

intra-mart Accel Platform

intra-mart Accel Platform intra-mart Accel Platform IM- 共通マスタスマートフォン拡張プログラミングガイド 2012/10/01 初版 変更年月日 2012/10/01 初版 > 変更内容 目次 > 1 IM- 共通マスタの拡張について...2 1.1 前提となる知識...2 1.1.1 Plugin Manager...2 1.2 表記について...2 2 汎用検索画面の拡張...3

More information

Calendar Plus JavaScript API リファレンス ラジカルブリッジ Ver

Calendar Plus JavaScript API リファレンス ラジカルブリッジ Ver Calendar Plus JavaScript API リファレンス ラジカルブリッジ Ver.20190408 目次 イベント処理の記述方法... 2 イベント処理の概要... 2 イベントハンドラーを登録する... 3 特定のイベントタイプ内の特定のイベントハンドラーを削除する... 5 特定のイベントタイプ内のすべてのイベントハンドラーを削除する... 6 すべてのイベントハンドラーを削除する...

More information

2 2 2 OpenGL (R,G,B,A) 2.1 OpenGL (x y) width height pixels void glreadpixels(glint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum t

2 2 2 OpenGL (R,G,B,A) 2.1 OpenGL (x y) width height pixels void glreadpixels(glint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum t 1 24 (2) 3DCG TA 2012 10 12 1 OpenGL USB (3DCG) OpenCV 1.1 http://www.cyber.t.u-tokyo.ac.jp/~tani/class/mech_enshu/ 1.2 TA 1.3 USB (2012/11/19( ),20( )) USB 2 2 2 OpenGL (R,G,B,A) 2.1 OpenGL (x y) width

More information

謗域・ュ逕ィppt

謗域・ュ逕ィppt 情報工学 2017 年度後期第 5 回 [11 月 1 日 ] 静岡大学 工学研究科機械工学専攻ロボット 計測情報講座創造科学技術大学院情報科学専攻 三浦憲二郎 講義日程 第 6 回 11 月 8 日画像処理パート第 1 回 第 7 回 11 月 15 日 CGパート第 6 回 第 8 回 11 月 22 日 CGパート第 7 回 第 9 回 11 月 29 日 CGパート試験 講義アウトライン [11

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション コンパイラとプログラミング言語 第 10 週 Java 仮想マシンとその機械語 2014 年 6 月 11 日 金岡晃 授業計画 第 1 週 (4/9) コンパイラの概要 第 8 週 (5/28) 下向き構文解析 / 構文解析プログラム 第 2 週 (4/16) コンパイラの構成 第 9 週 (6/4) 中間表現と意味解析 第 3 週 (4/23) プログラミング言語の形式的な記述 第 10 週 (6/11)

More information

演算増幅器

演算増幅器 構造体 ここまでに char int doulbe などの基本的なデータ型に加えて 同じデータ型が連続している 配列についてのデータ構造について習った これ以外にも もっと複雑なデータ型をユーザが定義 することが可能である それが構造体と呼ばれるもので 異なる型のデータをひとかたまりのデー タとして扱うことができる 異なるデータをまとめて扱いたい時とはどんな場合だろうか 例えば 住民データを管理したい

More information

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint - chap10_OOP.ppt プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java 第 3 版 13.1 アプレットの概要 13.2 最初の Java アプレット 13.3 アプレットのライフサイクル 13.4 Graphics クラス アプレットの概要 (1/3) Web ページの HTML ソースコードから参照されるプログラム Web サーバーからブラウザに動的にダウンロードされる ダウンロードされたアプレットはブラウザの環境で実行される アプレットビューアなどのツールで実行することもできる

More information

/*p7-1-1*/

/*p7-1-1*/ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 /* e8.c Copyright (c) 2003 by T. HAYASHI and

More information

Microsoft PowerPoint - handout07.ppt [互換モード]

Microsoft PowerPoint - handout07.ppt [互換モード] Outline プログラミング演習第 7 回構造体 on 2012.12.06 電気通信大学情報理工学部知能機械工学科長井隆行 今日の主眼 構造体 構造体の配列 構造体とポインタ 演習課題 2 今日の主眼 配列を使うと 複数の ( 異なる型を含む ) データを扱いたい 例えば 成績データの管理 複数のデータを扱う 配列を使う! 名前学籍番号点数 ( 英語 ) 点数 ( 数学 ) Aomori 1 59.4

More information

intra-mart Accel Platform — 招待機能プログラミングガイド   初版  

intra-mart Accel Platform — 招待機能プログラミングガイド   初版   Copyright 2016 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 3. 権限リストを拡張する 2 改訂情報 変更年月日 変更内容 2016-04-01 初版 3 はじめに 項目 このガイドについて このガイドについて このガイドでは 招待機能の拡張方法および注意点について解説します 4 権限リストを拡張する 項目 この機能について実装済みの招待権限デコレータ実装方法設定方法

More information

一方, 物体色 ( 色や光を反射して色刺激を起こすもの, つまり印刷物 ) の表現には, 減法混色 (CMY) が用いられる CMY の C はシアン (Cyn),M はマゼンタ (Mgent),Y はイエロー (Yellow) であり, これらは色の 3 原色と呼ばれるものである なお, 同じシア

一方, 物体色 ( 色や光を反射して色刺激を起こすもの, つまり印刷物 ) の表現には, 減法混色 (CMY) が用いられる CMY の C はシアン (Cyn),M はマゼンタ (Mgent),Y はイエロー (Yellow) であり, これらは色の 3 原色と呼ばれるものである なお, 同じシア 第 4 章デジタル画像の処理 デジタル画像処理の基礎について理解し,Jv によるフィルタリング処理や座標変換のプログラムを作成する 4.1 RGB 表色系と CMY 表色系 TV やコンピュータのディスプレイ, デジタルカメラでの色の表現には, 加法混色 (RGB) が用いられる RGB の R は赤 (Red),G は緑 (Green),B は青 (Blue) であり, これらは光の 3 原色と呼ばれるものである

More information

Microsoft Word - 3new.doc

Microsoft Word - 3new.doc プログラミング演習 II 講義資料 3 ポインタ I - ポインタの基礎 1 ポインタとは ポインタとはポインタは, アドレス ( データが格納されている場所 ) を扱うデータ型です つまり, アドレスを通してデータを間接的に処理します ポインタを使用する場合の, 処理の手順は以下のようになります 1 ポインタ変数を宣言する 2 ポインタ変数へアドレスを割り当てる 3 ポインタ変数を用いて処理 (

More information

JAVA入門

JAVA入門 JAVA 入門後期 10 情報処理試験例題解説 H14 年度秋問 8 次の Java プログラムの説明及びプログラムを読んで, 設問に答えよ プログラムの説明 ディジタル論理回路シミュレータを作成するためのクラスとテスト用クラスである (1) ゲートを表す抽象クラス Gate のサブクラスとして, NOT ゲートを表すクラス NotGate 及び AND ゲートを表すクラス AndGate を定義する

More information

情報システム設計論II ユーザインタフェース(1)

情報システム設計論II ユーザインタフェース(1) プログラミング演習 (3) 変数 : 計算とアニメーション 中村, 高橋 小林, 橋本 1 目標 Processing で計算してみよう Processing でアニメーションしよう 計算の方法を理解する 変数を理解する 課題 : Processing でアニメーションしよう! 計算してみよう 地球の半径は 6378.137km. では, 地球 1 周の距離はどれくらいになるでしょうか? println(

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プロシージャ プロシージャの種類 Subプロシージャ Functionプロシージャ Propertyプロシージャ Sub プロシージャ Subステートメント~ステートメントで囲まれる 実行はするけど 値は返さない 途中で抜けたいときは Exit Sub を行なう Public Sub はマクロの実行候補に表示される Sub プロシージャの例 Public Sub TestSubProc() Call

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 講座を行う前に 自己紹介 僕と上回生について 1 年生同士で少しお話しよう! オリエンテーションの宿題 アルゴロジック http://home.jeita.or.jp/is/highschool/algo/index3.html どこまでできましたか? あまりできなかった人はこれから全部クリアしよう! 2016 年度 C 言語講座 第一回目 2016/6/11 fumi 今回の目標 プログラムを書いて実行するやり方を覚える

More information

Microsoft Word _VBAProg1.docx

Microsoft Word _VBAProg1.docx 1. VBA とマクロ 1.1 VBA とは VBA(Visual Basic for Applications) は 1997 年に Microsoft 社がマクロを作成するために開発された言語である Windows 対応のアプリケーションを開発するためのプログラミング言語 Visual Basic をもとにしているため 次のような特徴がある 1 VBA は Excel Word, Access,

More information

JavaScript演習

JavaScript演習 JavaScript 演習 2 1 本日の内容 prompt 関数 演習 1 演習 2 document.getelementbyid 関数 演習 3 イベント処理 基本的なフォーム テキストボックスの入力値の取得 演習 4 IE における JavaScript のデバッグ方法 1. ツール インターネットオプションメニューを実行 2. 詳細設定タブの スクリプトエラーごとに通知を表示する をチェック

More information

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版   Copyright 2012 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. IM- 共通マスタの拡張について 2.1. 前提となる知識 2.1.1. Plugin Manager 2.2. 表記について 3. 汎用検索画面の拡張 3.1. 動作の概要 3.1.1. 汎用検索画面タブの動作概要 3.2. 実装の詳細 3.2.1. 汎用検索画面タブの実装

More information

始めに, 最下位共通先祖を求めるための関数 LcaDFS( int v ) の処理を記述する. この関数は値を返さない再帰的な void 関数で, 点 v を根とする木 T の部分木を深さ優先探索する. 整数の引数 v は, 木 T の点を示す点番号で, 配列 NodeSpace[ ] へのカーソル

始めに, 最下位共通先祖を求めるための関数 LcaDFS( int v ) の処理を記述する. この関数は値を返さない再帰的な void 関数で, 点 v を根とする木 T の部分木を深さ優先探索する. 整数の引数 v は, 木 T の点を示す点番号で, 配列 NodeSpace[ ] へのカーソル 概略設計書 作成者築山修治作成日 2012 年 10 月 1 日 概要 ( どのような入力に対して, どのような出力をするかの概要説明 ) * 木 T および質問点対の集合 P が与えられたとき, 各質問点対 p = (v,w) P の最下位共通先祖 ( すなわち木 T において点 v と w の共通の先祖 a で,a の真の子孫には v と w の共通の先祖が無いような点 ) を見出す関数である.

More information

gengo1-8

gengo1-8 問題提起その 1 一文字ずつ文字 ( 数字 ) を読み込み それぞれの文字が何回入力されたかを数えて出力するプログラム int code, count_0=0, count_1=0, count_2=0, count_3=0,..., count_9=0; while( (code=getchar())!= EOF ){ } switch(code){ case 0 : count_0++; break;

More information

02: 変数と標準入出力

02: 変数と標準入出力 C プログラミング入門 基幹 7 ( 水 5) 10: ファイル入出力 Linux にログインし 以下の講義ページを開いておくこと http://www-it.sci.waseda.ac.jp/ teachers/w483692/cpr1/ 2016-06-15 1 標準ライブラリ関数によりファイルの出力を行う 画像ファイルの生成を例題として 配列の作成を復習する 今日の内容 関数を作ってプログラムを構造化する

More information

3,, となって欲しいのだが 実際の出力結果を確認すると両方の配列とも 10, 2, 3,, となってしまっている この結果は代入後の配列 a と b は同じものになっていることを示している つまり 代入演算子 = によるの代入は全要素のコピーではなく 先をコピーする ため 代入後の a と b は

3,, となって欲しいのだが 実際の出力結果を確認すると両方の配列とも 10, 2, 3,, となってしまっている この結果は代入後の配列 a と b は同じものになっていることを示している つまり 代入演算子 = によるの代入は全要素のコピーではなく 先をコピーする ため 代入後の a と b は 配列 2 前回には 配列の基本的な使い方と拡張 for 文について学んだ 本日は配列に付いての追加の説明として 配列のコピー 文字列配列 ガーベジコレクション 多次元配列について学んでいく 配列のコピー配列を用意し その全ての要素を別の配列にコピーすることを考える まず 以下に間違った例を示していく プログラム例 1 public class Prog07_01 int[] a = 1, 2, 3,,

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション シミュレーション基礎 (8) 第 6 章ファイル入出力 7.2 テキストファイルの読み書き ファイルに書き込む : EX70201: X=1:10;Y=[X;X.^2]; Fid=fopen('datal.txt', wt'); fprintf(fid,'%2d%5d n',y); C 言語と同じ手順 : ファイルをオープンするファイルに変数の値を書き込む ( 整数 2 桁, 整数 5 桁, 改行

More information

Prog1_10th

Prog1_10th 2012 年 6 月 20 日 ( 木 ) 実施ポインタ変数と文字列前回は, ポインタ演算が用いられる典型的な例として, ポインタ変数が 1 次元配列を指す場合を挙げたが, 特に,char 型の配列に格納された文字列に対し, ポインタ変数に配列の 0 番の要素の先頭アドレスを代入して文字列を指すことで, 配列そのものを操作するよりも便利な利用法が存在する なお, 文字列リテラルは, その文字列が格納されている領域の先頭アドレスを表すので,

More information