mirror of
https://github.com/rvtr/TwlIPL_commit-99.git
synced 2025-10-31 06:21:11 -04:00
86 lines
3.2 KiB
C
Executable File
86 lines
3.2 KiB
C
Executable File
/*---------------------------------------------------------------------------*
|
|
Project: NITRO-System - include - nnsys - g3d
|
|
File: cgtool.h
|
|
|
|
Copyright 2004-2008 Nintendo. All rights reserved.
|
|
|
|
These coded instructions, statements, and computer programs contain
|
|
proprietary information of Nintendo of America Inc. and/or Nintendo
|
|
Company Ltd., and are protected by Federal copyright law. They may
|
|
not be disclosed to third parties or copied or duplicated in any form,
|
|
in whole or in part, without the prior written consent of Nintendo.
|
|
|
|
$Revision: 172 $
|
|
*---------------------------------------------------------------------------*/
|
|
|
|
//
|
|
// AUTHOR: Kenji Nishida
|
|
//
|
|
|
|
#ifndef NNSG3D_CGTOOL_H_
|
|
#define NNSG3D_CGTOOL_H_
|
|
|
|
#include <nnsys/g3d/config.h>
|
|
#include <nnsys/g3d/anm.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*---------------------------------------------------------------------------*
|
|
NNSG3dGetJointScale
|
|
|
|
ジョイントのスケール計算を行う関数へのポインタ
|
|
CGツール毎に違いがあるため分離しておく。
|
|
*---------------------------------------------------------------------------*/
|
|
typedef void (*NNSG3dGetJointScale)(NNSG3dJntAnmResult* pResult,
|
|
const fx32* p,
|
|
const u8* cmd,
|
|
u32 srtflag);
|
|
|
|
/*---------------------------------------------------------------------------*
|
|
NNSG3dSendJointSRT
|
|
|
|
ジョイント行列をジオメトリエンジンに設定する。
|
|
呼ばれる時点での行列モードはPosition/Vectorモードになっている必要がある。
|
|
また、加工対象の行列はカレント行列に入っている必要がある。
|
|
*---------------------------------------------------------------------------*/
|
|
typedef void (*NNSG3dSendJointSRT)(const NNSG3dJntAnmResult*);
|
|
|
|
|
|
/*---------------------------------------------------------------------------*
|
|
NNSG3dSendTexSRT
|
|
|
|
テクスチャSRT行列をジオメトリエンジンに設定する。
|
|
実行後は行列モードがPosition/Vectorモードになっている。
|
|
*---------------------------------------------------------------------------*/
|
|
typedef void (*NNSG3dSendTexSRT)(const NNSG3dMatAnmResult*);
|
|
|
|
|
|
/*---------------------------------------------------------------------------*
|
|
NNS_G3dSendJointSRT_FuncArray
|
|
|
|
NNSG3dScalingRule(<model_info>::scaling_rule)の値に対応する
|
|
関数ポインタの配列。ジョイント行列を送信する場合、G3Dからは
|
|
この関数ポインタベクタを通してアクセスしなければならない。
|
|
*---------------------------------------------------------------------------*/
|
|
extern NNSG3dGetJointScale NNS_G3dGetJointScale_FuncArray[NNS_G3D_FUNC_SENDJOINTSRT_MAX];
|
|
extern NNSG3dSendJointSRT NNS_G3dSendJointSRT_FuncArray[NNS_G3D_FUNC_SENDJOINTSRT_MAX];
|
|
|
|
|
|
/*---------------------------------------------------------------------------*
|
|
NNS_G3dSendTexSRT_FuncArray
|
|
|
|
NNSG3dTexMtxMode(<model_info>::tex_matrix_mode)の値に対応する
|
|
関数ポインタの配列。テクスチャ行列を送信する場合、G3Dからは
|
|
この関数ポインタベクタを通してアクセスしなければならない。
|
|
*---------------------------------------------------------------------------*/
|
|
extern NNSG3dSendTexSRT NNS_G3dSendTexSRT_FuncArray[NNS_G3D_FUNC_SENDTEXSRT_MAX];
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}/* extern "C" */
|
|
#endif
|
|
|
|
#endif
|