1#ifndef RVL_SDK_GX_TRANSFORM_H 
    2#define RVL_SDK_GX_TRANSFORM_H 
    5#include <revolution/GX/GXTypes.h> 
    7#include <revolution/MTX.h> 
   12#define GX_PROJECTION_SZ 7 
   13#define GX_VIEWPORT_SZ 6 
   20void GXSetProjection(
const Mtx44 proj, GXProjectionType type);
 
   21void GXSetProjectionv(
const f32 proj[GX_PROJECTION_SZ]);
 
   22void GXGetProjectionv(f32 proj[GX_PROJECTION_SZ]);
 
   23void GXLoadPosMtxImm(
const Mtx mtx, u32 
id);
 
   24void GXLoadPosMtxIndx(u16 index, u32 
id);
 
   25void GXLoadNrmMtxImm(
const Mtx mtx, u32 
id);
 
   26void GXLoadNrmMtxIndx3x3(u16 index, u32 
id);
 
   27void GXSetCurrentMtx(u32 
id);
 
   28void GXLoadTexMtxImm(
const Mtx mtx, u32 
id, GXMtxType type);
 
   29void GXSetViewportJitter(f32 ox, f32 oy, f32 sx, f32 sy, f32 near, f32 far,
 
   31void GXSetViewport(f32 ox, f32 oy, f32 sx, f32 sy, f32 near, f32 far);
 
   32void GXGetViewportv(f32 view[GX_VIEWPORT_SZ]);
 
   33void GXSetZScaleOffset(f32 scale, f32 offset);
 
   34void GXSetScissor(u32 x, u32 y, u32 w, u32 h);
 
   35void GXGetScissor(u32* x, u32* y, u32* w, u32* h);
 
   36void GXSetScissorBoxOffset(u32 ox, u32 oy);
 
   37void GXSetClipMode(GXClipMode mode);
 
   39void __GXSetProjection(
void);
 
   40void __GXSetViewport(
void);
 
   41void __GXSetMatrixIndex(GXAttr index);
 
   43static void GXSetViewportv(
const f32 view[GX_VIEWPORT_SZ]) {
 
   44    GXSetViewport(view[0], view[1], view[2], view[3], view[4], view[5]);