Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenprog_statevars.h
Go to the documentation of this file.
00001 /* 00002 * Mesa 3-D graphics library 00003 * Version: 7.1 00004 * 00005 * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. 00006 * 00007 * Permission is hereby granted, free of charge, to any person obtaining a 00008 * copy of this software and associated documentation files (the "Software"), 00009 * to deal in the Software without restriction, including without limitation 00010 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 00011 * and/or sell copies of the Software, and to permit persons to whom the 00012 * Software is furnished to do so, subject to the following conditions: 00013 * 00014 * The above copyright notice and this permission notice shall be included 00015 * in all copies or substantial portions of the Software. 00016 * 00017 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 00018 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00019 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 00020 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 00021 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 00022 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00023 */ 00024 00025 #ifndef PROG_STATEVARS_H 00026 #define PROG_STATEVARS_H 00027 00028 #include "main/mtypes.h" 00029 00030 00035 #define STATE_LENGTH 5 00036 00037 00047 typedef enum gl_state_index_ { 00048 STATE_MATERIAL = 100, /* start at 100 so small ints are seen as ints */ 00049 00050 STATE_LIGHT, 00051 STATE_LIGHTMODEL_AMBIENT, 00052 STATE_LIGHTMODEL_SCENECOLOR, 00053 STATE_LIGHTPROD, 00054 00055 STATE_TEXGEN, 00056 00057 STATE_FOG_COLOR, 00058 STATE_FOG_PARAMS, 00059 00060 STATE_CLIPPLANE, 00061 00062 STATE_POINT_SIZE, 00063 STATE_POINT_ATTENUATION, 00064 00065 STATE_MODELVIEW_MATRIX, 00066 STATE_PROJECTION_MATRIX, 00067 STATE_MVP_MATRIX, 00068 STATE_TEXTURE_MATRIX, 00069 STATE_PROGRAM_MATRIX, 00070 STATE_COLOR_MATRIX, 00071 STATE_MATRIX_INVERSE, 00072 STATE_MATRIX_TRANSPOSE, 00073 STATE_MATRIX_INVTRANS, 00074 00075 STATE_AMBIENT, 00076 STATE_DIFFUSE, 00077 STATE_SPECULAR, 00078 STATE_EMISSION, 00079 STATE_SHININESS, 00080 STATE_HALF_VECTOR, 00081 00082 STATE_POSITION, 00083 STATE_ATTENUATION, 00084 STATE_SPOT_DIRECTION, 00085 STATE_SPOT_CUTOFF, 00087 STATE_TEXGEN_EYE_S, 00088 STATE_TEXGEN_EYE_T, 00089 STATE_TEXGEN_EYE_R, 00090 STATE_TEXGEN_EYE_Q, 00091 STATE_TEXGEN_OBJECT_S, 00092 STATE_TEXGEN_OBJECT_T, 00093 STATE_TEXGEN_OBJECT_R, 00094 STATE_TEXGEN_OBJECT_Q, 00095 00096 STATE_TEXENV_COLOR, 00097 00098 STATE_DEPTH_RANGE, 00099 00100 STATE_VERTEX_PROGRAM, 00101 STATE_FRAGMENT_PROGRAM, 00102 00103 STATE_ENV, 00104 STATE_LOCAL, 00105 00106 STATE_INTERNAL, /* Mesa additions */ 00107 STATE_NORMAL_SCALE, 00108 STATE_TEXRECT_SCALE, 00109 STATE_FOG_PARAMS_OPTIMIZED, /* for faster fog calc */ 00110 STATE_LIGHT_SPOT_DIR_NORMALIZED, /* pre-normalized spot dir */ 00111 STATE_LIGHT_POSITION, /* object vs eye space */ 00112 STATE_LIGHT_POSITION_NORMALIZED, /* object vs eye space */ 00113 STATE_LIGHT_HALF_VECTOR, /* object vs eye space */ 00114 STATE_PT_SCALE, 00115 STATE_PT_BIAS, 00116 STATE_PCM_SCALE, 00117 STATE_PCM_BIAS, 00118 STATE_SHADOW_AMBIENT, 00119 STATE_INTERNAL_DRIVER /* first available state index for drivers (must be last) */ 00120 } gl_state_index; 00121 00122 00123 00124 extern void 00125 _mesa_load_state_parameters(GLcontext *ctx, 00126 struct gl_program_parameter_list *paramList); 00127 00128 00129 extern GLbitfield 00130 _mesa_program_state_flags(const gl_state_index state[STATE_LENGTH]); 00131 00132 00133 extern const char * 00134 _mesa_program_state_string(const gl_state_index state[STATE_LENGTH]); 00135 00136 00137 extern void 00138 _mesa_load_tracked_matrices(GLcontext *ctx); 00139 00140 00141 #endif /* PROG_STATEVARS_H */ Generated on Fri May 25 2012 04:18:47 for ReactOS by
1.7.6.1
|