CMGDK r49-rc2
|
00001 # i f n d e f H G L _ D R A W _ A R R A Y _ B U F F E R _ I N C L U D E 00002 00003 # d e f i n e H G L _ D R A W _ A R R A Y _ B U F F E R _ I N C L U D E 00004 00005 00006 00007 # i n c l u d e < h g l / g l / D r a w A r r a y . I n t e r f a c e . H > 00008 00009 # i n c l u d e < h g l / g l / O p e n G L . H > 00010 00011 # i n c l u d e < h g l / t y p e / L i s t . H > 00012 00013 n a m e s p a c e h g l 00014 00015 { 00016 00017 t e m p l a t e < t y p e n a m e T > c l a s s D r a w A r r a y B u f f e r : p u b l i c D r a w A r r a y B u f f e r I n t e r f a c e 00018 00019 { 00020 00021 p r o t e c t e d : 00022 00023 00024 00025 b o o l v b o ; 00026 00027 00028 00029 i n t d c _ n u m ; / / pencbNpeϑ 00030 00031 00032 00033 i n t c o u n t ; / / pencpeϑ 00034 00035 00036 00037 u i n t g l _ f o r m a t ; / / penc<h_ 00038 00039 00040 00041 i n t b u f f e r _ s i z e ; / / penc^ 00042 00043 00044 00045 p r o t e c t e d : 00046 00047 00048 00049 u i n t o f f s e t ; / / OPy 00050 00051 00052 00053 T * a c c e s s ; / / c 00054 00055 00056 00057 T * t e m p _ d a t a ; / / epenc 00058 00059 u i n t s t a r t _ a c c e s s ; 00060 00061 u i n t a c c e s s _ n u m b e r ; 00062 00063 00064 00065 p u b l i c : 00066 00067 00068 00069 D r a w A r r a y B u f f e r ( b o o l , i n t , i n t , u i n t , u i n t ) ; 00070 00071 v i r t u a l ~ D r a w A r r a y B u f f e r ( ) ; 00072 00073 00074 00075 u i n t G e t B u f f e r S i z e ( ) { r e t u r n b u f f e r _ s i z e ; } 00076 00077 00078 00079 p r i v a t e : 00080 00081 00082 00083 v o i d S t a r t A c c e s s ( u i n t 8 * ) ; 00084 00085 v o i d S t a r t A c c e s s ( u i n t 8 * , u i n t , u i n t ) ; 00086 00087 00088 00089 v o i d E n d A c c e s s ( ) ; 00090 00091 00092 00093 v o i d W r i t e ( v o i d * , i n t , i n t ) ; 00094 00095 00096 00097 p u b l i c : / / f l o a t 00098 00099 00100 00101 v o i d W r i t e f v ( f l o a t * , i n t ) ; 00102 00103 00104 00105 v o i d W r i t e 1 f ( f l o a t ) ; 00106 00107 v o i d W r i t e 2 f ( f l o a t , f l o a t ) ; 00108 00109 v o i d W r i t e 3 f ( f l o a t , f l o a t , f l o a t ) ; 00110 00111 v o i d W r i t e 4 f ( f l o a t , f l o a t , f l o a t , f l o a t ) ; 00112 00113 00114 00115 v o i d W r i t e 2 f v ( f l o a t * , i n t = 1 ) ; 00116 00117 v o i d W r i t e 3 f v ( f l o a t * , i n t = 1 ) ; 00118 00119 v o i d W r i t e 4 f v ( f l o a t * , i n t = 1 ) ; 00120 00121 00122 00123 v o i d W r i t e R e c t 2 f ( f l o a t , f l o a t , f l o a t , f l o a t ) ; 00124 00125 v o i d W r i t e C u b e 3 f ( f l o a t , f l o a t , f l o a t , f l o a t , f l o a t , f l o a t ) ; 00126 00127 00128 00129 p u b l i c : / / d o u b l e 00130 00131 00132 00133 v o i d W r i t e d v ( d o u b l e * , i n t ) ; 00134 00135 00136 00137 v o i d W r i t e 1 d ( d o u b l e ) ; 00138 00139 v o i d W r i t e 2 d ( d o u b l e , d o u b l e ) ; 00140 00141 v o i d W r i t e 3 d ( d o u b l e , d o u b l e , d o u b l e ) ; 00142 00143 v o i d W r i t e 4 d ( d o u b l e , d o u b l e , d o u b l e , d o u b l e ) ; 00144 00145 00146 00147 v o i d W r i t e 2 d v ( d o u b l e * , i n t = 1 ) ; 00148 00149 v o i d W r i t e 3 d v ( d o u b l e * , i n t = 1 ) ; 00150 00151 v o i d W r i t e 4 d v ( d o u b l e * , i n t = 1 ) ; 00152 00153 00154 00155 v o i d W r i t e R e c t 2 d ( d o u b l e , d o u b l e , d o u b l e , d o u b l e ) ; 00156 00157 v o i d W r i t e C u b e 3 d ( d o u b l e , d o u b l e , d o u b l e , d o u b l e , d o u b l e , d o u b l e ) ; 00158 00159 00160 00161 p u b l i c : / / i n t 00162 00163 00164 00165 v o i d W r i t e i v ( i n t * , i n t ) ; 00166 00167 00168 00169 v o i d W r i t e 1 i ( i n t ) ; 00170 00171 v o i d W r i t e 2 i ( i n t , i n t ) ; 00172 00173 v o i d W r i t e 3 i ( i n t , i n t , i n t ) ; 00174 00175 v o i d W r i t e 4 i ( i n t , i n t , i n t , i n t ) ; 00176 00177 00178 00179 v o i d W r i t e 2 i v ( i n t * , i n t = 1 ) ; 00180 00181 v o i d W r i t e 3 i v ( i n t * , i n t = 1 ) ; 00182 00183 v o i d W r i t e 4 i v ( i n t * , i n t = 1 ) ; 00184 00185 00186 00187 v o i d W r i t e R e c t 2 i ( i n t , i n t , i n t , i n t ) ; 00188 00189 v o i d W r i t e C u b e 3 i ( i n t , i n t , i n t , i n t , i n t , i n t ) ; 00190 00191 00192 00193 v i r t u a l v o i d B i n d ( u i n t 8 * ) = 0 ; 00194 00195 00196 00197 D r a w A r r a y B u f f e r I n t e r f a c e * o p e r a t o r [ ] ( i n t ) 00198 00199 { 00200 00201 r e t u r n 0 ; 00202 00203 } 00204 00205 } ; 00206 00207 00208 00209 # d e f i n e D R A W _ A R R A Y _ D E F ( n a m e , c a l l ) t e m p l a t e < t y p e n a m e T > c l a s s n a m e : p u b l i c D r a w A r r a y B u f f e r < T > \ 00210 00211 { \ 00212 00213 p u b l i c : \ 00214 00215 \ 00216 00217 n a m e ( b o o l v , i n t d n , i n t d c , u i n t g f , u i n t o f = 0 ) : D r a w A r r a y B u f f e r < T > ( v , d n , d c , g f , o f ) { } ; \ 00218 00219 v o i d B i n d ( u i n t 8 * d a t a ) { c a l l ; } \ 00220 00221 } ; 00222 00223 00224 00225 D R A W _ A R R A Y _ D E F ( D r a w A r r a y C o l o r , g l C o l o r P o i n t e r ( d c _ n u m , g l _ f o r m a t , 0 , d a t a + o f f s e t ) ) ; 00226 00227 D R A W _ A R R A Y _ D E F ( D r a w A r r a y V e r t e x , g l V e r t e x P o i n t e r ( d c _ n u m , g l _ f o r m a t , 0 , d a t a + o f f s e t ) ) ; 00228 00229 D R A W _ A R R A Y _ D E F ( D r a w A r r a y T e x C o o r d , g l T e x C o o r d P o i n t e r ( d c _ n u m , g l _ f o r m a t , 0 , d a t a + o f f s e t ) ) ; 00230 00231 D R A W _ A R R A Y _ D E F ( D r a w A r r a y N o r m a l , g l N o r m a l P o i n t e r ( g l _ f o r m a t , 0 , d a t a + o f f s e t ) ) ; 00232 00233 D R A W _ A R R A Y _ D E F ( D r a w A r r a y 2 C o l o r , g l S e c o n d a r y C o l o r P o i n t e r ( d c _ n u m , g l _ f o r m a t , 0 , d a t a + o f f s e t ) ) ; 00234 00235 D R A W _ A R R A Y _ D E F ( D r a w A r r a y F o g C o o r d , g l F o g C o o r d P o i n t e r ( g l _ f o r m a t , 0 , d a t a + o f f s e t ) ) ; 00236 00237 D R A W _ A R R A Y _ D E F ( D r a w A r r a y I n d e x , g l I n d e x P o i n t e r ( g l _ f o r m a t , 0 , d a t a + o f f s e t ) ) ; 00238 00239 00240 00241 # u n d e f D R A W _ A R R A Y _ D E F 00242 00243 } 00244 00245 00246 00247 # i n c l u d e " D r a w A r r a y . B u f f e r . C P P " 00248 00249 # e n d i f / / H G L _ D R A W _ A R R A Y _ B U F F E R _ I N C L U D E 00250 00251