1 /*---------------------------------------------------------------------------* 2 Project: Dolphin GX library 3 File: GXBump.h 4 5 Copyright 1998- 2002 Nintendo. All rights reserved. 6 7 These coded instructions, statements, and computer programs contain 8 proprietary information of Nintendo of America Inc. and/or Nintendo 9 Company Ltd., and are protected by Federal copyright law. They may 10 not be disclosed to third parties or copied or duplicated in any form, 11 in whole or in part, without the prior written consent of Nintendo. 12 13 $Log: GXBump.h,v $ 14 Revision 1.2 2006/02/04 11:56:46 hashida 15 (none) 16 17 Revision 1.1.1.1 2005/12/29 06:53:28 hiratsu 18 Initial import. 19 20 Revision 1.1.1.1 2005/05/12 02:41:07 yasuh-to 21 Ported from dolphin source tree. 22 23 24 4 2003/03/19 13:34 Hirose 25 Added __GXSetIndirectMask(). 26 27 3 2002/07/24 9:06 Hirose 28 Resolved version conflicts. 29 30 $NoKeywords: $ 31 *---------------------------------------------------------------------------*/ 32 33 #ifndef __GXBUMP_H__ 34 #define __GXBUMP_H__ 35 36 #include <revolution/types.h> 37 38 39 //****************************************************************************** 40 // 41 // Graphics Library Indirect Texture (Bump) functions. 42 // 43 //****************************************************************************** 44 45 #ifdef __cplusplus 46 extern "C" { 47 #endif 48 49 //------------------------------------------------------------------------------ 50 // Bump (indirect texture functions). 51 //------------------------------------------------------------------------------ 52 extern void GXSetNumIndStages (u8 nIndStages); 53 extern void GXSetIndTexOrder (GXIndTexStageID ind_stage, GXTexCoordID tex_coord, 54 GXTexMapID tex_map); 55 extern void GXSetIndTexCoordScale (GXIndTexStageID ind_state, 56 GXIndTexScale scale_s, GXIndTexScale scale_t); 57 extern void GXSetIndTexMtx (GXIndTexMtxID mtx_sel, const f32 offset[2][3], s8 scale_exp); 58 extern void GXSetTevIndirect (GXTevStageID tev_stage, GXIndTexStageID ind_stage, 59 GXIndTexFormat format, GXIndTexBiasSel bias_sel, 60 GXIndTexMtxID matrix_sel, 61 GXIndTexWrap wrap_s, GXIndTexWrap wrap_t, 62 GXBool add_prev, GXBool ind_lod, GXIndTexAlphaSel alpha_sel); 63 64 //------------------------------------------------------------------------------ 65 // Convenience functions 66 //------------------------------------------------------------------------------ 67 extern void GXSetTevDirect (GXTevStageID tev_stage); 68 extern void GXSetTevIndWarp (GXTevStageID tev_stage, GXIndTexStageID ind_stage, 69 GXBool signed_offset, GXBool replace_mode, 70 GXIndTexMtxID matrix_sel); 71 extern void GXSetTevIndTile (GXTevStageID tev_stage, GXIndTexStageID ind_stage, 72 u16 tilesize_s, u16 tilesize_t, 73 u16 tilespacing_s, u16 tilespacing_t, 74 GXIndTexFormat format, GXIndTexMtxID matrix_sel, 75 GXIndTexBiasSel bias_sel, GXIndTexAlphaSel alpha_sel); 76 extern void GXSetTevIndBumpST (GXTevStageID tev_stage, GXIndTexStageID ind_stage, 77 GXIndTexMtxID matrix_sel); 78 extern void GXSetTevIndBumpXYZ (GXTevStageID tev_stage, GXIndTexStageID ind_stage, 79 GXIndTexMtxID matrix_sel); 80 extern void GXSetTevIndRepeat (GXTevStageID tev_stage); 81 82 //------------------------------------------------------------------------------ 83 extern void __GXSetIndirectMask ( u32 mask ); 84 85 //------------------------------------------------------------------------------ 86 #ifdef __cplusplus 87 } 88 #endif 89 90 #endif // __GXBUMP_H__ 91