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

書 式

#include <Ninja.h>

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

引 数

NJS_MATRIX *m
被演算マトリクス
NJS_PLANE *pl
投影面
NJS_POINT3 *v
投影を行う視点
NJS_POINT3 *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