VCSSL 3DCG開発ガイド
ここでは、VCSSLで3次元グラフィックス( 3DCG )を扱う方法を解説します。
はじめに
VCSSLで記述されたプログラムのコードは、「 VCSSLエンジン 」というインタープリタ上で実行されるため、環境依存の問題などをあまり気にすることなく、いろいろなPCの上で動作します。 特にVCSSLエンジンはJava※言語で開発されているため、PC向けの各種OSに対応し、どこでもほぼ同様の動作が見込めます。
この特徴は、3次元のグラフィックス( 3DCG )機能についても同様です。 VCSSLエンジンには、独自のソフトウェアレンダリング方式の3D描画エンジンが内蔵されています。 そのためユーザーは、専門的なライブラリや機器を別途用意しなくても、標準でそのまま、3Dグラフィックスを用いたプログラムを開発・実行できます。
もっとも、その反面としてVCSSLの3DCG機能は、GPUなどのハードウェアをフル活用する高度な開発環境( 3DCG専用のAPIなど )と比べると、描画速度やクオリティの点では遠く及びません。 しかしその代わり、VCSSLの3DCG機能では、性能よりも扱いやすさ・習得のしやすさを優先した設計を採用しています。 たとえば数学の回転行列などの難しい事を考えなくても、手軽に3DCGプログラミングを行えます。
ここでは、実際にVCSSLのプログラム内で、3DCGを扱う方法について解説します。 なお、平面的な描画や画像処理を行う「 2DCG 」の扱いについては、別途 2DCGガイド をご参照ください。
それでは、VCSSLで3DCGプログラミングをはじめてみましょう!
VCSSL 3DCG開発ガイド
- 目次 -
ガイドの本編です。テーマごとの連載形式になっています。まとめて読みたい/印刷したい方はPDF版をどうぞ。
|
3次元コンピューターグラフィックス 3次元コンピューターグラフィックスの基礎知識について扱っています。 |
|
基盤の準備 グラフィックスデータやレンダラーの生成など、基盤の準備について扱っています。 |
|
マウス操作とアニメーション マウス操作で始点変更を可能にする方法について扱っています。 |
|
フレームワークの使用 基盤の準備を自動化してくれる、フレームワークの使用方法について扱っています。 |
|
光源の生成・配置と各種設定 光源の生成と配置方法、および色や輝度の設定について扱っています。 |
|
モデルの生成・配置と各種標準モデル 立体モデルの生成と配置方法、および色々な種類の標準立体モデルについて扱っています。 |
|
ポリゴンの生成・配置と各種ポリゴン 立体モデルの構成要素である「ポリゴン」の生成と配置方法、および色々な種類のポリゴンについて扱っています。 |
|
立体の移動 立体の移動について扱っています。 |
|
立体の回転 立体の回転について扱っています。 |
|
立体の拡大と縮小 立体の拡大と縮小について扱っています。 |
|
立体の反転 立体の反転について扱っています。 |
|
立体の色設定 立体の色設定について扱っています。 |
|
立体の形状設定 標準モデルの形状設定について扱っています。 |
|
立体のフィル設定 標準モデルのフィル設定について扱っています。 |
|
立体の材質設定 立体の材質設定について扱っています。 |
|
座標系の考え方と生成・配置 座標系の概念と、生成・配置方法について扱っています。 |
|
座標系の移動 親座標系の座標系を基準とした、座標系の移動について扱っています。 |
|
座標系の歩行 自身の座標軸を基準とした、座標系の移動(歩行)について扱っています。 |
|
座標系の原点位置制御 座標系の原点位置制御について扱っています。 |
|
座標系の回転 親座標系の座標軸を基準とした、座標系の回転について扱っています。 |
|
座標系の自転 自身の座標軸を基準とした、座標系の回転(自転)について扱っています。 |
|
座標系のオイラー角姿勢制御 オイラー角による座標系の姿勢制御について扱っています。 |
|
カメラ座標系 カメラ座標系の概念と制御について扱っています。 |
|
ベクトルの生成・配置と基本的な操作・演算 ベクトルの生成と配置方法、および基本的な操作と演算について扱っています。 |
|
座標変換 座標変換について扱っています。 |
|
画面射影 3D空間上の位置と、画面上の位置との関係を求める「画面射影」について解説しています。 |
|
衝突判定 立体の衝突判定について解説しています。 |
( ※ OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。文中の社名、商品名等は各社の商標または登録商標である場合があります。 )
このガイドに登場するサンプルコード(一部)
ガイド内に登場するサンプルコードを、実行環境ごとダウンロードして、実際に実行してみる事ができます。
[公式ガイドサンプル] 立体モデルを回転させるアニメーション |
|
|
「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを、アニメーションで回転させ続けます |
[公式ガイドサンプル] 立体モデルを回転させる |
|
|
「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを、指定した角度だけ回転させます。 |
[公式ガイドサンプル] 立体モデルを移動させるアニメーション |
|
|
「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルの位置を、アニメーションで動かします。 |
[公式ガイドサンプル] 立体モデルを移動させる |
|
|
「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルの位置を移動させます。 |
[公式ガイドサンプル] 立体モデルを生成して3D空間に配置する |
|
|
「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体モデルを生成し、3D空間に配置します。 |
[公式ガイドサンプル] ポリゴンを生成して3D空間に配置する |
|
|
「VCSSL 3DCG開発ガイド」内のサンプルコードです。立体の基本的な構成要素となるポリゴンを生成し、3D空間に配置します。 |
※ サンプルコードのダウンロードはまだ整備中で、全部の公開には至っていません。今後も継続的に少しづつ追加していきます。 コードアーカイブ では、このガイドのサンプルコードだけでなく、いろいろなVCSSL製のプログラムをコード解説付きで配信しています。