00001
00002
00003 #ifndef _SHADER_DEFINES_H_
00004 #define _SHADER_DEFINES_H_
00005
00006 namespace render
00007 {
00008
00010 enum ShaderType
00011 {
00012 ST_VERTEX,
00013 ST_FRAGMENT,
00014 ST_GEOMETRY,
00015 ST_UNKNOWN
00016 };
00017
00018 enum ShaderParameterType
00019 {
00020 SPT_FLOAT,
00021 SPT_FLOAT2,
00022 SPT_FLOAT3,
00023 SPT_FLOAT4,
00024 SPT_INT,
00025 SPT_INT2,
00026 SPT_INT3,
00027 SPT_INT4,
00028 SPT_MATRIX_2X2,
00029 SPT_MATRIX_2X3,
00030 SPT_MATRIX_2X4,
00031 SPT_MATRIX_3X2,
00032 SPT_MATRIX_3X3,
00033 SPT_MATRIX_3X4,
00034 SPT_MATRIX_4X2,
00035 SPT_MATRIX_4X3,
00036 SPT_MATRIX_4X4,
00037 SPT_SAMPLER1D,
00038 SPT_SAMPLER2D,
00039 SPT_SAMPLER3D,
00040 SPT_SAMPLERCUBE,
00041 SPT_SAMPLER1DSHADOW,
00042 SPT_SAMPLER2DSHADOW,
00043 SPT_UNKNOWN
00044 };
00045
00046 enum ShaderAutoParameterType
00047 {
00048 SAPT_WORLD_MATRIX,
00049 SAPT_INVERSE_WORLD_MATRIX,
00050 SAPT_TRANSPOSE_WORLD_MATRIX,
00051 SAPT_INVERSE_TRANSPOSE_WORLD_MATRIX,
00052 SAPT_VIEW_MATRIX,
00053 SAPT_INVERSE_VIEW_MATRIX,
00054 SAPT_TRANSPOSE_VIEW_MATRIX,
00055 SAPT_INVERSE_TRANSPOSE_VIEW_MATRIX,
00056 SAPT_PROJECTION_MATRIX,
00057 SAPT_INVERSE_PROJECTION_MATRIX,
00058 SAPT_TRANSPOSE_PROJECTION_MATRIX,
00059 SAPT_INVERSE_TRANSPOSE_PROJECTION_MATRIX,
00060 SAPT_VIEWPROJ_MATRIX,
00061 SAPT_INVERSE_VIEWPROJ_MATRIX,
00062 SAPT_TRANSPOSE_VIEWPROJ_MATRIX,
00063 SAPT_INVERSE_TRANSPOSE_VIEWPROJ_MATRIX,
00064 SAPT_WORLDVIEW_MATRIX,
00065 SAPT_INVERSE_WORLDVIEW_MATRIX,
00066 SAPT_TRANSPOSE_WORLDVIEW_MATRIX,
00067 SAPT_INVERSE_TRANSPOSE_WORLDVIEW_MATRIX,
00068 SAPT_WORLDVIEWPROJ_MATRIX,
00069 SAPT_INVERSE_WORLDVIEWPROJ_MATRIX,
00070 SAPT_TRANSPOSE_WORLDVIEWPROJ_MATRIX,
00071 SAPT_INVERSE_TRANSPOSE_WORLDVIEWPROJ_MATRIX,
00072
00073 SAPT_LIGHT_COUNT,
00074 SAPT_LIGHT_POSITION,
00075 SAPT_LIGHT_POSITION_OBJECT_SPACE,
00076 SAPT_LIGHT_POSITION_VIEW_SPACE,
00077 SAPT_LIGHT_DIRECTION,
00078 SAPT_LIGHT_DIRECTION_OBJECT_SPACE,
00079 SAPT_LIGHT_DIRECTION_VIEW_SPACE,
00080
00081 SAPT_AMBIENT_LIGHT_COLOUR,
00082 SAPT_LIGHT_DIFFUSE_COLOUR,
00083 SAPT_LIGHT_SPECULAR_COLOUR,
00084 SAPT_LIGHT_ATTENUATION,
00085 SAPT_LIGHT_POWER_SCALE,
00086
00087 SAPT_CAMERA_POSITION,
00088 SAPT_CAMERA_POSITION_OBJECT_SPACE,
00089
00090 SAPT_NONE
00091 };
00092
00093 }
00094
00095 #endif