njDrawPoint3D
3D空間に点を描画します。

書 式

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

引 数

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

返 値

なし

機 能

n個の点を描画します。
複数の点を描画する場合にはNJS_POINT3COL型の配列を使用します。
使用できるアトリビュートは
NJD_DRAW_NORMAL 通常の描画。
NJD_TRANSPARENT 半透明で描画。
NJD_USE_TEXTURE テクスチャーを使用して描画。
の3つで、“|”で繋げる事によって矛盾しない複数のアトリビュートを 指定する事が可能です。

用 例

100個の点をランダムに描画。
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());
}

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

備 考

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

関 連


njDrawPoint3D

Copyright SEGA ENTERPRISES, LTD., 1998