2022-08-30 04:05:16 +00:00
|
|
|
#ifndef DOLPHIN_GXLIGHTING_H
|
|
|
|
#define DOLPHIN_GXLIGHTING_H
|
|
|
|
|
|
|
|
#include <dolphin/gx/GXEnum.h>
|
|
|
|
#include <dolphin/gx/GXStruct.h>
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
void GXSetNumChans(u8 nChans);
|
2022-09-18 06:05:46 +00:00
|
|
|
void GXSetChanCtrl(GXChannelID chan, GXBool enable, GXColorSrc amb_src, GXColorSrc mat_src,
|
|
|
|
u32 light_mask, GXDiffuseFn diff_fn, GXAttnFn attn_fn);
|
2022-08-30 04:05:16 +00:00
|
|
|
void GXSetChanAmbColor(GXChannelID chan, GXColor amb_color);
|
|
|
|
void GXSetChanMatColor(GXChannelID chan, GXColor mat_color);
|
|
|
|
|
|
|
|
void GXInitLightSpot(GXLightObj* lt_obj, f32 cutoff, GXSpotFn spot_func);
|
2022-09-18 06:05:46 +00:00
|
|
|
void GXInitLightDistAttn(GXLightObj* lt_obj, f32 ref_distance, f32 ref_brightness,
|
|
|
|
GXDistAttnFn dist_func);
|
2022-08-30 04:05:16 +00:00
|
|
|
void GXInitLightPos(GXLightObj* lt_obj, f32 x, f32 y, f32 z);
|
|
|
|
void GXInitLightDir(GXLightObj* lt_obj, f32 nx, f32 ny, f32 nz);
|
|
|
|
void GXInitLightColor(GXLightObj* lt_obj, GXColor color);
|
|
|
|
void GXInitLightAttn(GXLightObj* lt_obj, f32 a0, f32 a1, f32 a2, f32 k0, f32 k1, f32 k2);
|
|
|
|
void GXInitLightAttnA(GXLightObj* lt_obj, f32 a0, f32 a1, f32 a2);
|
|
|
|
void GXInitLightAttnK(GXLightObj* lt_obj, f32 k0, f32 k1, f32 k2);
|
|
|
|
void GXLoadLightObjImm(GXLightObj* lt_obj, GXLightID light);
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|