1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#ifndef RVL_SDK_GX_LIGHT_H
#define RVL_SDK_GX_LIGHT_H
#include "common.h"
#include "rvl/GX/GXInternal.h"
#include "rvl/GX/GXTypes.h"
#ifdef __cplusplus
extern "C" {
#endif
GX_DECL_PUBLIC_STRUCT(GXLightObj, 64);
void GXInitLightAttn(GXLightObj *light, f32 aa, f32 ab, f32 ac, f32 ka, f32 kb, f32 kc);
void GXInitLightAttnA(GXLightObj *light, f32 a, f32 b, f32 c);
void GXInitLightAttnK(GXLightObj *light, f32 a, f32 b, f32 c);
void GXInitLightSpot(GXLightObj *light, f32 angle, GXSpotFn fn);
void GXInitLightDistAttn(GXLightObj *light, f32 distance, f32 brightness, GXDistAttnFn fn);
void GXInitLightPos(GXLightObj *light, f32 x, f32 y, f32 z);
void GXGetLightPos(const GXLightObj *light, f32 *x, f32 *y, f32 *z);
void GXInitLightDir(GXLightObj *light, f32 x, f32 y, f32 z);
void GXGetLightDir(const GXLightObj *light, f32 *x, f32 *y, f32 *z);
void GXInitSpecularDir(GXLightObj *light, f32 x, f32 y, f32 z);
void GXInitLightColor(GXLightObj *light, GXColor color);
void GXLoadLightObjImm(const GXLightObj *light, GXLightID id);
void GXLoadLightObjIndx(u16 index, GXLightID id);
void GXSetChanAmbColor(GXChannelID chan, GXColor color);
void GXSetChanMatColor(GXChannelID chan, GXColor color);
void GXSetNumChans(u8 num);
void GXSetChanCtrl(
GXChannelID chan, GXBool enable, GXColorSrc ambSrc, GXColorSrc matSrc, GXLightID lightMask, GXDiffuseFn diffFn,
GXAttnFn attnFn
);
#ifdef __cplusplus
}
#endif
#endif
|