00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __VOP_Types__
00021 #define __VOP_Types__
00022
00023 #include "VOP_API.h"
00024 #include <iostream.h>
00025 #include <VEX/VEX_VexTypes.h>
00026 #include <PRM/PRM_Type.h>
00027
00028 typedef enum {
00029
00030 VOP_TYPE_UNDEF = VEX_TYPE_UNDEF,
00031 VOP_TYPE_VECTOR4 = VEX_TYPE_POINT,
00032 VOP_TYPE_VECTOR = VEX_TYPE_VECTOR,
00033 VOP_TYPE_FLOAT = VEX_TYPE_FLOAT,
00034 VOP_TYPE_INTEGER = VEX_TYPE_INTEGER,
00035 VOP_TYPE_STRING = VEX_TYPE_STRING,
00036 VOP_TYPE_MATRIX3 = VEX_TYPE_MATRIX3,
00037 VOP_TYPE_MATRIX4 = VEX_TYPE_MATRIX4,
00038 VOP_TYPE_BSDF = VEX_TYPE_BSDF,
00039
00040
00041 VOP_TYPE_POINT,
00042 VOP_TYPE_NORMAL,
00043 VOP_TYPE_COLOR,
00044
00045 VOP_TYPE_ERROR,
00046
00047
00048 VOP_SHADER_START,
00049
00050 VOP_SURFACE_SHADER,
00051 VOP_SURFACE_SHADOW_SHADER,
00052 VOP_DISPLACEMENT_SHADER,
00053 VOP_GEOMETRY_SHADER,
00054 VOP_INTERIOR_SHADER,
00055 VOP_LIGHT_SHADER,
00056 VOP_LIGHT_SHADOW_SHADER,
00057 VOP_ATMOSPHERE_SHADER,
00058 VOP_LENS_SHADER,
00059 VOP_OUTPUT_SHADER,
00060 VOP_BACKGROUND_SHADER,
00061 VOP_PHOTON_SHADER,
00062 VOP_EMITTER_SHADER,
00063 VOP_PHOTONVOLUME_SHADER,
00064 VOP_ENVIRONMENT_SHADER,
00065 VOP_CONTOUR_SHADER,
00066 VOP_CONTOUR_STORE_SHADER,
00067 VOP_CONTOUR_CONTRAST_SHADER,
00068 VOP_TEXTURE_SHADER,
00069 VOP_IMAGE3D_SHADER,
00070 VOP_CVEX_SHADER,
00071 VOP_COSHADER_SHADER,
00072 VOP_PROPERTIES_SHADER,
00073 VOP_MUTABLE_SHADER,
00074 VOP_MATERIAL_SHADER,
00075
00076 VOP_SHADER_END,
00077
00078 VOP_MAX_TYPES,
00079
00080 VOP_TYPE_UNIFORM_MODIFIER = 0x1000,
00081 VOP_TYPE_UFLOAT = (VOP_TYPE_UNIFORM_MODIFIER | VOP_TYPE_FLOAT),
00082 VOP_TYPE_UVECTOR = (VOP_TYPE_UNIFORM_MODIFIER | VOP_TYPE_VECTOR),
00083 VOP_TYPE_UPOINT = (VOP_TYPE_UNIFORM_MODIFIER | VOP_TYPE_POINT),
00084 VOP_TYPE_UNORMAL = (VOP_TYPE_UNIFORM_MODIFIER | VOP_TYPE_NORMAL),
00085 VOP_TYPE_UCOLOR = (VOP_TYPE_UNIFORM_MODIFIER | VOP_TYPE_COLOR),
00086 VOP_TYPE_UMATRIX4 = (VOP_TYPE_UNIFORM_MODIFIER | VOP_TYPE_MATRIX4),
00087 } VOP_Type;
00088
00089 #define VOP_BASE_TYPE(type) ((VOP_Type)(type&(VOP_TYPE_UNIFORM_MODIFIER-1)))
00090 #define VOP_GET_MODIFIER(type) ((VOP_Type)(type&VOP_TYPE_UNIFORM_MODIFIER))
00091 #define VOP_INVALID_TYPE(type) ((type)==VOP_TYPE_UNDEF||(type)==VOP_TYPE_ERROR)
00092 #define VOP_VALID_TYPE(type) (!VOP_INVALID_TYPE(type))
00093
00094 #endif