mirror of
https://github.com/zeldaret/ss
synced 2026-05-30 00:46:41 -04:00
26af4db82d
* update from dtk-template and start work towards using clangd * include <a> -> "a" * Update build.yml * remove/add non-trivial class in union warning
38 lines
1.4 KiB
C
38 lines
1.4 KiB
C
#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
|