#ifdef IN_HLSL

#define VC_WORLD_PROJ      C0
#define VC_VIEW            C4
#define VC_EYE_POS         C8    // in object space
#define VC_LIGHT_DIR1      C9
#define VC_CUBE_TRANS      C10
#define VC_CUBE_EYE_POS    C13    // in cubemap space
#define VC_TEX_TRANS1      C14

#define VC_OBJ_TRANS       C18


#define VC_LIGHT_DIFFUSE1  C30
#define VC_LIGHT_POS1      C31

#define VC_FOGDATA         C22

#define VC_DETAIL_SCALE    C40


#define PC_MAT_SPECCOLOR   C0
#define PC_MAT_SPECPOWER   C1
#define PC_AMBIENT_COLOR   C2
#define PC_ACCUM_TIME      C3


#define PC_USERDEF1        C5
#define PC_USERDEF2        C6
#define PC_USERDEF3        C7


// Mirror of above.  Couldn't be cleaner because HLSL doens't support function macros
#else

#define VC_WORLD_PROJ      0
#define VC_VIEW            4     // used for deferred shading
#define VC_EYE_POS         8     // in object space
#define VC_LIGHT_DIR1      9
#define VC_CUBE_TRANS      10
#define VC_CUBE_EYE_POS    13    // in cubemap space
#define VC_TEX_TRANS1      14

#define VC_OBJ_TRANS       18

#define VC_LIGHT_DIFFUSE1  30
#define VC_LIGHT_POS1      31

#define VC_FOGDATA         22

#define VC_DETAIL_SCALE    40



#define PC_MAT_SPECCOLOR   0
#define PC_MAT_SPECPOWER   1
#define PC_AMBIENT_COLOR   2
#define PC_ACCUM_TIME      3

#define PC_USERDEF1        5
#define PC_USERDEF2        6
#define PC_USERDEF3        7

#endif

