njScale
マトリクスに拡縮を加えます。

書 式

#include <Ninja.h>

void njScale(*m, x, y, z)
NJS_MATRIX *m
Float x
Float y
Float z

引 数

NJS_MATRIX *m
被演算マトリクス
Float x
X軸に対する拡縮率
Float y
Y軸に対する拡縮率
Float z
Z軸に対する拡縮率

返 値

なし

機 能

任意のマトリクス m に拡縮を加えます。
引数 m が NULL の場合はカレントマトリクスを対象とします。

用 例

X、Y、Zの各軸に対して(0.5, 1, 2)の拡縮を掛けます。
NJS_MATRIX stack[10];
NJS_VIEW view;

njInitMatrix(stack, 10);
njInitView(&view);
njSetView(&view);
njClearMatrix();
njPushMatrix(NULL);
njScale(NULL, 0.5f, 1.f, 2.f);
njPopMatrix(1);

備 考

任意のマトリクスを[M]、スケーリングを乗算するマトリクスを[S]とすると、

[M] = [S] * [M]

と、なります。マトリクスを乗算する順序に注意して下さい。


関 連


njScale

Copyright SEGA ENTERPRISES, LTD., 1998