00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __VEX_VexTypes__
00019 #define __VEX_VexTypes__
00020
00021 #include "VEX_API.h"
00022
00023
00024 typedef enum {
00025 VEX_TYPE_UNDEF,
00026
00027 VEX_TYPE_POINT,
00028 VEX_TYPE_VECTOR,
00029 VEX_TYPE_FLOAT,
00030 VEX_TYPE_INTEGER,
00031 VEX_TYPE_STRING,
00032 VEX_TYPE_MATRIX3,
00033 VEX_TYPE_MATRIX4,
00034 VEX_TYPE_BSDF,
00035
00036 VEX_MAX_TYPES
00037 } VEX_Type;
00038
00039
00040
00041
00042
00043
00044 typedef enum {
00045
00046 VEX_SURFACE_CONTEXT = 0x00000001,
00047
00048 VEX_DISPLACE_CONTEXT = 0x00000002,
00049
00050 VEX_LIGHT_CONTEXT = 0x00000004,
00051
00052 VEX_SHADOW_CONTEXT = 0x00000008,
00053
00054 VEX_FOG_CONTEXT = 0x00000010,
00055
00056 VEX_PHOTON_CONTEXT = 0x00000020,
00057
00058 VEX_CHOP_CONTEXT = 0x00000100,
00059
00060 VEX_POP_CONTEXT = 0x00000400,
00061
00062 VEX_SOP_CONTEXT = 0x00000800,
00063
00064 VEX_COP2_CONTEXT = 0x00001000,
00065
00066 VEX_I3D_CONTEXT = 0x00010000,
00067
00068
00069 VEX_CVEX_CONTEXT = 0x00020000,
00070 VEX_INVALID_CONTEXT = 0x00000000
00071 } VEX_ContextType;
00072
00073
00074 #define VEX_SHADING_CONTEXT (VEX_SURFACE_CONTEXT | \
00075 VEX_DISPLACE_CONTEXT | \
00076 VEX_LIGHT_CONTEXT | \
00077 VEX_SHADOW_CONTEXT | \
00078 VEX_FOG_CONTEXT | \
00079 VEX_PHOTON_CONTEXT)
00080
00081
00082 #define VEX_OP_CONTEXT (VEX_CHOP_CONTEXT | \
00083 VEX_POP_CONTEXT | \
00084 VEX_SOP_CONTEXT | \
00085 VEX_COP2_CONTEXT)
00086
00087
00088 #define VEX_ALL_CONTEXT (VEX_SHADING_CONTEXT | \
00089 VEX_OP_CONTEXT | \
00090 VEX_I3D_CONTEXT | \
00091 VEX_CVEX_CONTEXT)
00092
00093
00094
00095 #endif
00096