立体のフィル設定

ここでは、標準モデルやポリゴンのフィル設定を扱います。 フィル設定により、ポリゴンを塗りつぶさずに、 境界線のみを描画する事が可能になります。 これを利用して、モデルのワイヤーフレーム描画などを行う事も可能です。

- 目次 -

フィル設定

フィル設定とは、立体を構成するポリゴンを描画する際に、 ポリゴン境界線の中を塗りつぶすかどうかの設定です。

フィル設定は、標準状態では有効になっており、 立体は平面の集合で構成されているように描画されます。 これを無効にする事で、 立体が線の集合で構成されているように描画されるようになります (いわゆるワイヤーフレーム描画)。

モデルのフィル設定

モデルのフィル設定を行うには、setModelFill関数を使用します。

- 関数仕様 -

void setModelFill ( int modelID, bool fill )

最初の引数modelIDでは、設定対象のモデルのIDを指定します。 続く引数fillでは、モデルを構成する全てのポリゴンに対し、 描画時に塗りつぶすかどうかを指定します。

ポリゴンのフィル設定

モデルのフィル設定を行うには、setModelFill関数を使用します。

- 関数仕様 -

void setPolygonFill ( int polygonID, bool fill )

最初の引数polygonIDでは、設定対象のポリゴンのIDを指定します。 続く引数fillでは、ポリゴンを描画時に塗りつぶすかどうかを指定します。

プログラム例

実際に球モデルを配置し、フィル設定を無効にして、 ワイヤーフレーム描画を行ってみましょう。 以下のように記述し、実行してみてください。

Sample.vcssl

このプログラムを実行すると、黒い背景に白い球がワイヤーフレームで描画されます。

実行結果、球のワイヤーフレーム描画の図
実行結果
球モデルのフィル設定が「無効」に変更された様子が見て取れる。

なお、モデルの内側の面は、普通は見えない部分であるため、標準では描画されないようになっています。 しかし上の例のように、ワイヤーフレーム描画を行う場合は、内側が描画されない事で不自然に見えるかもしれません。 内側も描画させたい場合は、上のプログラムの例では球モデル生成後に setModelCull(sphere, false, false) ; と追記し、 ポリゴン裏面の描画省略機能を無効化してください。