1#ifndef RVL_SDK_GX_LIGHT_H
2#define RVL_SDK_GX_LIGHT_H
5#include <revolution/GX/GXInternal.h>
6#include <revolution/GX/GXTypes.h>
11GX_PUBLIC_STRUCT_DECL(GXLightObj, 64);
13void GXInitLightAttn(GXLightObj* light, f32 aa, f32 ab, f32 ac, f32 ka, f32 kb,
15void GXInitLightAttnA(GXLightObj* light, f32 a, f32 b, f32 c);
16void GXInitLightAttnK(GXLightObj* light, f32 a, f32 b, f32 c);
17void GXInitLightSpot(GXLightObj* light, f32 angle, GXSpotFn fn);
18void GXInitLightDistAttn(GXLightObj* light, f32 distance, f32 brightness,
20void GXInitLightPos(GXLightObj* light, f32 x, f32 y, f32 z);
21void GXGetLightPos(
const GXLightObj* light, f32* x, f32* y, f32* z);
22void GXInitLightDir(GXLightObj* light, f32 x, f32 y, f32 z);
23void GXGetLightDir(
const GXLightObj* light, f32* x, f32* y, f32* z);
24void GXInitSpecularDir(GXLightObj* light, f32 x, f32 y, f32 z);
25void GXInitLightColor(GXLightObj* light, GXColor color);
26void GXLoadLightObjImm(
const GXLightObj* light, GXLightID
id);
27void GXLoadLightObjIndx(u16 index, GXLightID
id);
28void GXSetChanAmbColor(GXChannelID chan, GXColor color);
29void GXSetChanMatColor(GXChannelID chan, GXColor color);
30void GXSetNumChans(u8 num);
31void GXSetChanCtrl(GXChannelID chan, GXBool enable, GXColorSrc ambSrc,
32 GXColorSrc matSrc, GXLightID lightMask, GXDiffuseFn diffFn,