CMGDK r49-rc2
|
00001 # d e f i n e C H E C K _ F O R M A T ( n u m , d t ) i f ( ( d c _ n u m ! = n u m ) | | ( g l _ f o r m a t ! = d t ) ) { E r r o r H i n t ( L " QeQD r a w A r r a y B u f f e r vpenc<h_! " ) ; r e t u r n ; } 00002 00003 00004 00005 t e m p l a t e < t y p e n a m e T > 00006 00007 v o i d D r a w A r r a y B u f f e r < T > : : W r i t e v ( t y p e * v a l u e , i n t c o u n t ) 00008 00009 { 00010 00011 i f ( g l _ f o r m a t ! = g l f m t ) 00012 00013 { 00014 00015 E r r o r H i n t ( L " QeQD r a w A r r a y B u f f e r vpenc<h_! " ) ; 00016 00017 r e t u r n ; 00018 00019 } 00020 00021 00022 00023 m e m c p y ( a c c e s s , v a l u e , c o u n t * s i z e o f ( t y p e ) ) ; 00024 00025 00026 00027 a c c e s s + = c o u n t ; 00028 00029 } 00030 00031 00032 00033 t e m p l a t e < t y p e n a m e T > 00034 00035 v o i d D r a w A r r a y B u f f e r < T > : : W r i t e 1 ( t y p e v a l u e ) 00036 00037 { 00038 00039 C H E C K _ F O R M A T ( 1 , g l f m t ) ; 00040 00041 00042 00043 * a c c e s s + + = v a l u e ; 00044 00045 } 00046 00047 00048 00049 t e m p l a t e < t y p e n a m e T > 00050 00051 v o i d D r a w A r r a y B u f f e r < T > : : W r i t e 2 ( t y p e v 1 , t y p e v 2 ) 00052 00053 { 00054 00055 C H E C K _ F O R M A T ( 2 , g l f m t ) ; 00056 00057 00058 00059 i f ( a c c e s s ) 00060 00061 { 00062 00063 * a c c e s s + + = v 1 ; 00064 00065 * a c c e s s + + = v 2 ; 00066 00067 } 00068 00069 } 00070 00071 00072 00073 t e m p l a t e < t y p e n a m e T > 00074 00075 v o i d D r a w A r r a y B u f f e r < T > : : W r i t e 3 ( t y p e v 1 , t y p e v 2 , t y p e v 3 ) 00076 00077 { 00078 00079 C H E C K _ F O R M A T ( 3 , g l f m t ) ; 00080 00081 00082 00083 i f ( a c c e s s ) 00084 00085 { 00086 00087 * a c c e s s + + = v 1 ; 00088 00089 * a c c e s s + + = v 2 ; 00090 00091 * a c c e s s + + = v 3 ; 00092 00093 } 00094 00095 } 00096 00097 00098 00099 t e m p l a t e < t y p e n a m e T > 00100 00101 v o i d D r a w A r r a y B u f f e r < T > : : W r i t e 4 ( t y p e v 1 , t y p e v 2 , t y p e v 3 , t y p e v 4 ) 00102 00103 { 00104 00105 C H E C K _ F O R M A T ( 4 , g l f m t ) ; 00106 00107 00108 00109 i f ( a c c e s s ) 00110 00111 { 00112 00113 * a c c e s s + + = v 1 ; 00114 00115 * a c c e s s + + = v 2 ; 00116 00117 * a c c e s s + + = v 3 ; 00118 00119 * a c c e s s + + = v 4 ; 00120 00121 } 00122 00123 } 00124 00125 00126 00127 t e m p l a t e < t y p e n a m e T > 00128 00129 v o i d D r a w A r r a y B u f f e r < T > : : W r i t e 2 v ( t y p e * v , i n t c o u n t ) 00130 00131 { 00132 00133 C H E C K _ F O R M A T ( 2 , g l f m t ) ; 00134 00135 00136 00137 i f ( a c c e s s ) 00138 00139 { 00140 00141 m e m c p y ( a c c e s s , v , c o u n t * 2 * s i z e o f ( t y p e ) ) ; 00142 00143 00144 00145 a c c e s s + = c o u n t * 2 ; 00146 00147 } 00148 00149 / * { 00150 00151 * a c c e s s + + = * v + + ; 00152 00153 * a c c e s s + + = * v ; 00154 00155 } * / 00156 00157 } 00158 00159 00160 00161 t e m p l a t e < t y p e n a m e T > 00162 00163 v o i d D r a w A r r a y B u f f e r < T > : : W r i t e 3 v ( t y p e * v , i n t c o u n t ) 00164 00165 { 00166 00167 C H E C K _ F O R M A T ( 3 , g l f m t ) ; 00168 00169 00170 00171 i f ( a c c e s s ) 00172 00173 { 00174 00175 m e m c p y ( a c c e s s , v , c o u n t * 3 * s i z e o f ( t y p e ) ) ; 00176 00177 00178 00179 a c c e s s + = c o u n t * 3 ; 00180 00181 } 00182 00183 / * { 00184 00185 * a c c e s s + + = * v + + ; 00186 00187 * a c c e s s + + = * v + + ; 00188 00189 * a c c e s s + + = * v ; 00190 00191 } * / 00192 00193 } 00194 00195 00196 00197 t e m p l a t e < t y p e n a m e T > 00198 00199 v o i d D r a w A r r a y B u f f e r < T > : : W r i t e 4 v ( t y p e * v , i n t c o u n t ) 00200 00201 { 00202 00203 C H E C K _ F O R M A T ( 4 , g l f m t ) ; 00204 00205 00206 00207 i f ( a c c e s s ) 00208 00209 { 00210 00211 m e m c p y ( a c c e s s , v , c o u n t * 4 * s i z e o f ( t y p e ) ) ; 00212 00213 00214 00215 a c c e s s + = c o u n t * 4 ; 00216 00217 } 00218 00219 / * { 00220 00221 * a c c e s s + + = * v + + ; 00222 00223 * a c c e s s + + = * v + + ; 00224 00225 * a c c e s s + + = * v + + ; 00226 00227 * a c c e s s + + = * v ; 00228 00229 } * / 00230 00231 } 00232 00233 00234 00235 / * * 00236 00237 * cQwb_ĉRQeQ4 *Nvppenc( ] 00238 NS 00239 NSN]N) 00240 00241 * @ p a r a m l ]Lu 00242 00243 * @ p a r a m t vLu 00244 00245 * @ p a r a m w [ 00246 00247 * @ p a r a m h ؚ 00248 00249 * / 00250 00251 t e m p l a t e < t y p e n a m e T > 00252 00253 v o i d D r a w A r r a y B u f f e r < T > : : W r i t e R e c t ( t y p e l , t y p e t , t y p e w , t y p e h ) 00254 00255 { 00256 00257 W r i t e 2 ( l , t ) ; 00258 00259 W r i t e 2 ( l + w , t ) ; 00260 00261 W r i t e 2 ( l + w , t + h ) ; 00262 00263 W r i t e 2 ( l , t + h ) ; 00264 00265 } 00266 00267 00268 00269 / * 00270 00271 * cQzeSOĉRQeQ8 *Nvppenc 00272 00273 * @ p a r a m x , y , z zeSO N*N҉vPWh 00274 00275 * @ p a r a m l , w , h zeSO'Y\ 00276 00277 * / 00278 00279 t e m p l a t e < t y p e n a m e T > 00280 00281 v o i d D r a w A r r a y B u f f e r < T > : : W r i t e C u b e ( t y p e x , t y p e y , t y p e z , t y p e l , t y p e w , t y p e d ) 00282 00283 { 00284 00285 / / D o c u m e n t s -Nv C u b e . p s p i m a g e 00286 00287 / / 00288 0O p e n G L ~[xQ0,{ NHr 3 7 7 u 00289 00290 00291 00292 t y p e c o o r d [ 8 ] [ 3 ] = 00293 00294 { 00295 00296 { x , y , z } , { x + l , y , z } , { x + l , y + w , z } , { x , y + w , z } , 00297 00298 { x , y , z + d } , { x + l , y , z + d } , { x + l , y + w , z + d } , { x , y + w , z + d } 00299 00300 } ; 00301 00302 00303 00304 / / ~6R 00305 00306 # d e f i n e W r i t e 3 v 4 ( a , b , c , d ) W r i t e 3 v ( c o o r d [ a ] ) ; W r i t e 3 v ( c o o r d [ b ] ) ; W r i t e 3 v ( c o o r d [ c ] ) ; W r i t e 3 v ( c o o r d [ d ] ) 00307 00308 00309 00310 W r i t e 3 v 4 ( 0 , 1 , 2 , 3 ) ; 00311 00312 W r i t e 3 v 4 ( 4 , 5 , 1 , 0 ) ; 00313 00314 W r i t e 3 v 4 ( 3 , 2 , 6 , 7 ) ; 00315 00316 W r i t e 3 v 4 ( 5 , 4 , 7 , 6 ) ; 00317 00318 W r i t e 3 v 4 ( 1 , 5 , 6 , 2 ) ; 00319 00320 W r i t e 3 v 4 ( 4 , 0 , 3 , 7 ) ; 00321 00322 00323 00324 # u n d e f W r i t e 3 v 4 00325 00326 } 00327 00328 00329 00330 # u n d e f C H E C K _ F O R M A T 00331 00332