njCalcScreen
3D空間上に在る点をスクリーンに透視投影した後のスクリーン座標を求めます。

書 式

#include <Ninja.h>

int njCalcScreen(*p, *sx, *sy)
NJS_POINT3 *p
Float *sx
Float *sy

引 数

NJS_POINT3 *p
3D空間上の点座標
Float *sx
投影後のx座標
Float *sy
投影後のy座標

返 値

OK : 投影後の座標がスクリーンの描画領域内に在る場合。 NG : 投影後の座標がスクリーンの描画領域内に無い場合。

機 能

3D空間上に在る点をスクリーンに透視投影した後のスクリーン座標を求めます。

用 例

3D空間上の点(1000, 1000, 1000)をスクリーンに投影した後のスクリーン座標を求めます。
NJS_POINT3 p;
Float sx, sy;

p.x = 1000.f;
p.y = 1000.f;
p.z = 1000.f;

sbInitSystem( NJD_RESOLUTION_640x480_NTSCNI, NJD_FRAMEBUFFER_MODE_RGB565, 1 );
njCalcScreen(&p, &sx, &sy);

/* 結果 */

NG
sx = 820.000000, sy = 740.000000

備 考

本関数による計算結果にはスクリーン、アスペクト、ニアクリッピング、ファークリッピング、及び描画領域の設定が反映されます。

関 連

sbInitSystem
njSetScreen
njSetAspect
njClipZ

njCalcScreen

Copyright SEGA ENTERPRISES, LTD., 1998