#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