njDrawLine3D
3D空間に線を描画します。

書 式

#include <Ninja.h>
void njDrawLine3D(*p, n, attr)
NJS_POINT2COL *p
Int n
Uint32 attr

引 数

NJS_POINT2COL *p
描画する線の端点座標リスト
n
描画する線の数
attr
アトリビュート(描画方法を選択)

返 値

なし

機 能

n本の線を描画します。
使用できるアトリビュートは
NJD_DRAW_NORMAL 通常の描画。
NJD_DRAW_CONNECTED連結した線を描画。
NJD_DRAW_WHEEL 放射状に線を描画。
NJD_TRANSPARENT 半透明で描画。
NJD_USE_TEXTURE テクスチャーを使用して描画。
の5つで、“|”で繋げる事によって矛盾しない複数のアトリビュートを指定する事が可能です。

用 例

50本の線をランダムに描画します。
int i;
NJS_COLOR  color[100];
p.p = point;
p.col = color;
p.tex = NULL;
p.num = 100;

for(i = 0; i < 100; i++){ 
  p.p[i].x = njRandom()*1000.f-500.f;
  p.p[i].y = njRandom()*1000.f-500.f;
  p.p[i].z = -njRandom()*1000.f;
  p.col[i].argb.a = (Uint8)(0x80*njRandom());
  p.col[i].argb.r = (Uint8)(0x80*njRandom());
  p.col[i].argb.g = (Uint8)(0x80*njRandom());
  p.col[i].argb.b = (Uint8)(0x80*njRandom());
}

njDrawLine3D(&p, 100, NJD_DRAW_NORMAL|NJD_TRANSPARENT);
本関数は3D描画関数である為、本関数を用いて描画を行う前に必ず
ビュー、スクリーン、及びマトリクススタック等の設定を行う必要がある。

備 考

アトリビュート NJD_DRAW_NORMAL は他のアトリビュートと組み合わせて使用する場合は省略可能。

関 連


njDrawLine3D

Copyright SEGA ENTERPRISES, LTD., 1998