[ 前へ | 目次 | 次へ ]

直接描画

レンダラーが描画を行う方法には、直接描画とスプライト描画の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のスクリプトエンジンアーキテクチャ解説1: 全体像
2019年05月28日 - RINEARNでは現在、 アプリケーション組み込み用スクリプトエンジン「 Vnano 」を、オープンソースで開発中です。今回は、このスクリプトエンジンのアーキテクチャ面を掘り下げて解説します。

リニアンプロセッサー nano の先行開発版やソースコードリポジトリを公開
2019年04月16日 - オープンソースで開発中の小型プログラム関数電卓ソフト、「 リニアンプロセッサー nano 」の先行開発版やソースコードリポジトリを公開しました。概要と使用方法、ビルド方法などについて解説します。

各ソフトウェアの最新版を一括でリリース、OpenJDKのJava実行環境(JRE)に対応
2019年03月06日 - RINEARNでは3月6日に、主要なソフトウェアの最新版を一括でリリースしました。今回のアップデートには、以前お知らせした、OpenJDKで生成したJREへの対応が含まれています。その概要等をお知らせします。

新着
連番ファイルから3Dグラフをアニメーション描画するツール

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

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

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを生成し、3D空間に配置します。
2019年05月21日
[公式ガイドサンプル] ポリゴンを生成して3D空間に配置する

「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体の基本的な構成要素となるポリゴンを生成し、3D空間に配置します。
2019年05月20日
[公式ガイドサンプル] CSVファイルにデータを書き出し&読み込んで、複雑な3次元曲面のグラフを描く(魔法陣形)

「VCSSLスタートアップガイド」内のサンプルコードです。CSVファイルにデータを書き出し、さらにそれを読み込んで、魔法陣のような3次元曲面のグラフを描画します。
2019年05月17日
開発元Twitterアカウント

スポンサーリンク