2DCG における基本的な作業は、「 レンダラー(描画エンジン) 」というものを操作し、 「グラフィックスデータ」を加工していくといった流れの繰り返しになります。 ここでは、これら2 つの重要な概念について解説します。
VCSSLで2DCGを扱うには、描画内容を扱うデータ「グラフィックスデータ」と、 「レンダラー(描画エンジン)」というものについて理解しておく必要があります。 しかし、あまり難しいものではありません。
例えば現実世界で絵を描くには、絵の内容を保持するための画用紙や、 描くためのペンをはじめ、様々なものが必要です。 プログラミングによる描画でもこれらに相当するものが必要で、 言語や環境によって異なりますが、イメージ、バッファ、グラフィックスコンテキスト といったものが必要です。VCSSLでは、これらを一つにまとめて扱います。 これを「グラフィックスデータ」と呼びます。
つまるところ、絵を描くために必要なものが付属した、すぐに使える画用紙のようなものです。
レンダラー( 描画エンジン )とは、グラフィックスデータに対して、 高度な絵を描き込むためのものです。 原理的にはグラフィックスデータだけでも描画は可能ですが、 レンダラーを使用したほうが高度な描画が可能です。
つまるところ、「絵を描く人」のようなものです。 レンダラーには2DCG用と3DCG用が存在します。 平面的な絵が上手い人と、立体的な絵が上手い人が居るわけです。
まず、2DCG で描画するグラフィックスデータを生成します。 これにはGraphics ライブラリのnewGraphics 関数を使用します。
- 関数仕様 -この関数は、引数を何も指定しなかった場合、 何も描かれていない空白の内容を保持するメモリー領域を確保し、 グラフィックスデータIDを返します。 グラフィックスデータIDとは、 グラフィックスデータに割り振られる固有の識別番号です。
上のnewGraphics関数で生成したグラフィックスデータは、 空白で何も絵がありません。 そこで、このグラフィックスデータに2DCGを描画するためのレンダラー(描画エンジン)を生成します。 これにはnewGraphics2DRenderer関数を使用します。
- 関数仕様 -引数のwidthとheightで描画する絵の大きさを、 graphicsIDで描画対象のグラフィックスデータIDを指定します。 このgraphicsIDには、newGraphics関数で確保したものを指定します。
それでは実際にレンダラーを生成してみましょう。 以下のようにプログラムを記述し、実行してみてください。
このプログラムを実行すると、 レンダラーやグラフィックスデータは準備されますが、 まだ画面には何も表示されません。 それは、グラフィックスデータを表示する画面をまだ作成していないからです。 引き続き、表示画面の準備を行いましょう。