Ninjaライブラリ - マトリクス関数

njProject2

任意の投影面に透視投影を行います。

書式

void njProject2(*m, *pl, *v, *p)
NJS_MATRIX *m
NJS_PLANE *pl
NJS_POINT3 *v
NJS_POINT3 *p

引数

*m被演算マトリクス
*pl投影面
*v投影を行う視点
*p投影するオブジェクトの中心点

戻値

なし

解説

任意の平面 pl に視点 p から透視投影を行います。 引数 m が NULL の場合はカレントマトリクスを対象とします。

用例

原点を通り、ベクトル(0, 1, 1)を持つ平面に点v(0, 100, 100)から透視投影を行います。
(オブジェクトの中心点 p(0, 10, 10))
NJS_MATRIX stack[10];
NJS_VIEW view;
NJS_PLANE pl;
NJS_POINT3 v, p;
pl.px = 0.f;
pl.py = 0.f;
pl.pz = 0.f;
pl.vx = 0.f;
pl.vy = 1.f;
pl.vz = 1.f;
v.x = 0.f;
v.y = 100.f;
v.z = 100.f;
p.x = 0.f;
p.y = 10.f;
p.z = 10.f;
njInitMatrix(stack, 10);
njInitView(&view);
njSetView(&view);
njClearMatrix();
njPushMatrix(NULL);
njProject2(NULL, &pl, &v, &p);
njPopMatrix(1);

njProject2
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998