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,1999