[ 前へ | 目次 | 次へ ]

直接描画

レンダラーが描画を行う方法には、直接描画とスプライト描画の2 通りが存在します。この章では直接描画を扱います。


直接描画

直接描画とは、グラフィックスデータに線や幾何学図形などを直接描画していく、 単純な描画方法です。直接描画では、描画関数をコールするたびに、 グラフィックスデータ上に図形が描画されていき、すでに描画されていた箇所と重なると上描きされます。 ちょうど画用紙の上にペンで絵を書いていくような手順に似ています。

直接描画は、メモリー使用量が少なくて済むので、 描画するものが比較的少なく、かつ静的な内容を描画するのに向いています。 使用方法も手軽で直感的です。

直接描画の弱点として、アニメーションなどで時間あたりの描画頻度が多い場合、 描画速度が低下する事が挙げられます。この弱点は、 特に描画するものが非常に多い場合に顕著となります。 これは、描画するものの個数だけ描画関数をコールしなければならないため、 関数コールの負荷が効いてくるためです。 その場合は、後の章で扱うスプライト描画を使用した方が有利となります。

描画色の設定

直接描画を行う前に、まず描画する色を指定します。これにはsetDrawColor 関数を使用します。

- 関数仕様 -
void setDrawColor (
  int rendererID,
  int red, int green, int blue, int alpha
)

最初の引数rendererID でレンダラーのID を、 続く引数で描画色の色成分を指定します。 色成分はRGBA 形式で、それぞれ0 〜 255 の範囲の値を指定します。

このsetDrawColor 関数は、描画色を変更したいタイミングでコールします。 コール後、この関数で設定した色で直接描画が行われます。 再度コールすると、それ以降は新しい色で直接描画が行われます。

RGBA形式とは

RGBA 形式とは、色の三原色である赤(Red)、緑(Green)、青(Blue)の色成分に、 アルファ値(Alpha)を加えた形式です。 アルファ値は色の透明度を表す数値で、0 で完全透明になり、最大にすると不透明になります。

それぞれの色成分からの色の合成は、加法混色によって行われます。 これは光の重ね合わせと同じ混色方式であり、絵の具の混ぜ合わせ(減法混色)では無い事にご注意ください。 例として、(赤,緑、青)=( 255, 255, 255 )は、黒ではなく白になります。 また、( 255, 255, 0 )は黄色に、( 0,255, 255 )は水色に、( 255, 0, 255 )はマゼンタになります。

描画関数のコール

描画色の設定が完了したら、実際にグラフィックスデータに図形などを描画していきます。 これには描画関数をコールします。

描画関数は、レンダラーに描画を指示するための関数で、 描画する図形に応じて様々な種類のものが存在します。 次回は、各種描画関数について詳しく扱います。


この階層の目次
お知らせ

Vnanoの公式サイトがオープン、チュートリアルやAPI仕様書等も掲載
2019年08月07日 - オープンソースのアプリケーション組み込み用スクリプトエンジン「 Vnano 」の公式サイトを開設しました。チュートリアルや、スクリプトエンジンのAPI仕様書などが参照できます。その概要をお知らせします。

リニアングラフ3D/2Dが連番ファイルのアニメーションに標準で対応
2019年07月17日 - リニアングラフ3D/2Dでは、7月17日公開の最新版より、連番ファイルを連続的に読み込みながらアニメーション描画するプログラムを同梱し、メニューから標準で使用可能になりました。その概要をお知らせします。

Vnanoのスクリプトエンジンアーキテクチャ解説2: コンパイラ
2019年07月03日 - オープンソースで開発中のスクリプトエンジン「 Vnano 」のアーキテクチャを解説する連載の第2回です。今回は、スクリプトを中間コードへと変換する、コンパイラ部分の内部をクローズアップして解説します。

新着
[公式ガイドサンプル] ユーザーのGUI操作に対して処理を行う

「VCSSL GUI開発ガイド」内のサンプルコードです。ユーザーがGUIを操作した際に行う処理を実装します。
2019年07月28日
[公式ガイドサンプル] 各種GUIコンポーネントを画面上に配置する

「VCSSL GUI開発ガイド」内のサンプルコードです。色々な種類のGUI部品を画面上に配置します。
2019年07月28日
連番ファイルから3Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、3Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。
2019年06月03日
連番ファイルから2Dグラフをアニメーション描画するツール

フォルダ内の連番データファイルを読み込み、2Dグラフを高速で連続描画して、アニメーションさせるツールです。グラフを連番の画像ファイルに保存する事もできます。
2019年05月24日
[公式ガイドサンプル] 立体モデルを生成して3D空間に配置する

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを生成し、3D空間に配置します。
2019年05月21日
開発元Twitterアカウント