CMGDK r49-rc2
K:/CMGDKv18/SDK/Include/hgl/gl/DrawArray.Interface.H
浏览该文件的文档。
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 T E R F A C E _ 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 T E R F A C E _ I N C L U D E 
00004  
00005  
00006  
00007  # i n c l u d e < h g l / t y p e / D a t a T y p e . H > 
00008  
00009  # i n c l u d e < h g l / t y p e / R e c t S c o p e . H > 
00010  
00011  n a m e s p a c e   h g l 
00012  
00013  { 
00014  
00015      / * * 
00016  
00017      *   ppencbN
00018  
00019      * / 
00020  
00021      e n u m   P o i n t D a t a C o m p o m e n t           / / / ppencbN
00022  
00023      { 
00024  
00025          p d c C o l o r 3 f             = 1 < < 0 ,             / / / < R G B   rpenc
00026  
00027          p d c C o l o r 4 f             = 1 < < 1 ,             / / / < R G B A rpenc
00028  
00029  
00030  
00031          p d c V e r t e x 2 f           = 1 < < 2 ,             / / / < X Y vppenc( nmpW) 
00032  
00033          p d c V e r t e x 3 f           = 1 < < 3 ,             / / / < X Y Z vppenc( nmpW) 
00034  
00035  
00036  
00037          p d c V e r t e x 2 i       = 1 < < 6 ,         / / / < X Y vppenc( tepeW) 
00038  
00039          p d c V e r t e x 3 i       = 1 < < 7 ,         / / / < X Y Z vppenc( tepeW) 
00040  
00041  
00042  
00043          p d c T e x C o o r d 1 f       = 1 < < 8 ,             / / / < L 4VPWhpenc
00044  
00045          p d c T e x C o o r d 2 f       = 1 < < 9 ,             / / / < X Y 4VPWhpenc
00046  
00047          p d c T e x C o o r d 3 f       = 1 < < 1 0 ,           / / / < X Y Z 4VPWhpenc
00048  
00049          p d c T e x C o o r d 4 f   = 1 < < 1 1 ,       / / / < X Y Z W 4VPWhpenc
00050  
00051  
00052  
00053          p d c T e x C o o r d 1 i       = 1 < < 1 6 ,           / / / < L 4VPWhpenc
00054  
00055          p d c T e x C o o r d 2 i       = 1 < < 1 7 ,           / / / < X Y 4VPWhpenc
00056  
00057          p d c T e x C o o r d 3 i       = 1 < < 1 8 ,           / / / < X Y Z 4VPWhpenc
00058  
00059          p d c T e x C o o r d 4 i   = 1 < < 1 9 ,       / / / < X Y Z W 4VPWhpenc
00060  
00061  
00062  
00063          p d c N o r m a l 3 f           = 1 < < 2 0 ,           / / / < l~penc
00064  
00065          
00066  
00067          p d c 2 C o l o r 3 f       = 1 < < 2 2 ,       / / / < S e c o n d a r y C o l o r 
00068  
00069  
00070  
00071          p d c F o g C o o r d 1 f   = 1 < < 2 3 ,       / / / < PWh
00072  
00073  
00074  
00075          p d c I n d e x 1 i         = 1 < < 2 5 ,       / / / < "}_i n t 
00076  
00077      } ; 
00078  
00079  
00080  
00081      t y p e d e f   P o i n t D a t a C o m p o m e n t   P D C ;   / / / < ppencbN
00082  
00083  
00084  
00085      c l a s s   D r a w A r r a y B u f f e r I n t e r f a c e 
00086  
00087      { 
00088  
00089          f r i e n d   c l a s s   D r a w A r r a y ; 
00090  
00091  
00092  
00093      p u b l i c : 
00094  
00095  
00096  
00097          b o o l   E n a b l e d ; 
00098  
00099  
00100  
00101      p u b l i c : 
00102  
00103  
00104  
00105          D r a w A r r a y B u f f e r I n t e r f a c e ( ) { E n a b l e d = t r u e ; } 
00106  
00107          v i r t u a l   ~ D r a w A r r a y B u f f e r I n t e r f a c e ( ) { } ; 
00108  
00109  
00110  
00111          v i r t u a l   u i n t   G e t B u f f e r S i z e ( ) = 0 ; 
00112  
00113  
00114  
00115      p r i v a t e : 
00116  
00117  
00118  
00119          v i r t u a l   v o i d   S t a r t A c c e s s ( u i n t 8   * ) = 0 ; 
00120  
00121          v i r t u a l   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 ) = 0 ; 
00122  
00123  
00124  
00125          v i r t u a l   v o i d   E n d A c c e s s ( ) = 0 ; 
00126  
00127  
00128  
00129          v i r t u a l   v o i d   W r i t e ( v o i d   * , i n t , i n t ) = 0 ; 
00130  
00131  
00132  
00133      p u b l i c :   / / f l o a t 
00134  
00135  
00136  
00137          v i r t u a l   v o i d   W r i t e f v ( f l o a t   * , i n t ) = 0 ; 
00138  
00139  
00140  
00141          v i r t u a l   v o i d   W r i t e 1 f ( f l o a t ) = 0 ; 
00142  
00143          v i r t u a l   v o i d   W r i t e 2 f ( f l o a t , f l o a t ) = 0 ; 
00144  
00145          v i r t u a l   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 ) = 0 ; 
00146  
00147          v i r t u a l   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 ) = 0 ; 
00148  
00149  
00150  
00151          v i r t u a l   v o i d   W r i t e 2 f v ( f l o a t   * , i n t = 1 ) = 0 ; 
00152  
00153          v i r t u a l   v o i d   W r i t e 3 f v ( f l o a t   * , i n t = 1 ) = 0 ; 
00154  
00155          v i r t u a l   v o i d   W r i t e 4 f v ( f l o a t   * , i n t = 1 ) = 0 ; 
00156  
00157  
00158  
00159          v i r t u a l   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 ) = 0 ; 
00160  
00161          v i r t u a l   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 ) = 0 ; 
00162  
00163  
00164  
00165          t e m p l a t e < t y p e n a m e   T > 
00166  
00167                  v o i d   W r i t e R e c t 2 f ( c o n s t   R e c t S c o p e 2 < T >   & r s ) 
00168  
00169                      { W r i t e R e c t 2 f ( r s . L e f t , r s . T o p , r s . W i d t h , r s . H e i g h t ) ; } 
00170  
00171  
00172  
00173      p u b l i c :   / / d o u b l e 
00174  
00175  
00176  
00177          v i r t u a l   v o i d   W r i t e d v ( d o u b l e   * , i n t ) = 0 ; 
00178  
00179  
00180  
00181          v i r t u a l   v o i d   W r i t e 1 d ( d o u b l e ) = 0 ; 
00182  
00183          v i r t u a l   v o i d   W r i t e 2 d ( d o u b l e , d o u b l e ) = 0 ; 
00184  
00185          v i r t u a l   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 ) = 0 ; 
00186  
00187          v i r t u a l   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 ) = 0 ; 
00188  
00189  
00190  
00191          v i r t u a l   v o i d   W r i t e 2 d v ( d o u b l e   * , i n t = 1 ) = 0 ; 
00192  
00193          v i r t u a l   v o i d   W r i t e 3 d v ( d o u b l e   * , i n t = 1 ) = 0 ; 
00194  
00195          v i r t u a l   v o i d   W r i t e 4 d v ( d o u b l e   * , i n t = 1 ) = 0 ; 
00196  
00197  
00198  
00199          v i r t u a l   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 ) = 0 ; 
00200  
00201          v i r t u a l   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 ) = 0 ; 
00202  
00203  
00204  
00205          t e m p l a t e < t y p e n a m e   T > 
00206  
00207                  v o i d   W r i t e R e c t 2 d ( c o n s t   R e c t S c o p e 2 < T >   & r s ) 
00208  
00209                      { W r i t e R e c t 2 d ( r s . L e f t , r s . T o p , r s . W i d t h , r s . H e i g h t ) ; } 
00210  
00211  
00212  
00213      p u b l i c :   / / i n t 
00214  
00215  
00216  
00217          v i r t u a l   v o i d   W r i t e i v ( i n t   * , i n t ) = 0 ; 
00218  
00219  
00220  
00221          v i r t u a l   v o i d   W r i t e 1 i ( i n t ) = 0 ; 
00222  
00223          v i r t u a l   v o i d   W r i t e 2 i ( i n t , i n t ) = 0 ; 
00224  
00225          v i r t u a l   v o i d   W r i t e 3 i ( i n t , i n t , i n t ) = 0 ; 
00226  
00227          v i r t u a l   v o i d   W r i t e 4 i ( i n t , i n t , i n t , i n t ) = 0 ; 
00228  
00229  
00230  
00231          v i r t u a l   v o i d   W r i t e 2 i v ( i n t   * , i n t = 1 ) = 0 ; 
00232  
00233          v i r t u a l   v o i d   W r i t e 3 i v ( i n t   * , i n t = 1 ) = 0 ; 
00234  
00235          v i r t u a l   v o i d   W r i t e 4 i v ( i n t   * , i n t = 1 ) = 0 ; 
00236  
00237  
00238  
00239          v i r t u a l   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 ) = 0 ; 
00240  
00241          v i r t u a l   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 ) = 0 ; 
00242  
00243  
00244  
00245          t e m p l a t e < t y p e n a m e   T > 
00246  
00247                  v o i d   W r i t e R e c t 2 i ( c o n s t   R e c t S c o p e 2 < T >   & r s ) 
00248  
00249                      { W r i t e R e c t 2 i ( r s . L e f t , r s . T o p , r s . W i d t h , r s . H e i g h t ) ; } 
00250  
00251  
00252  
00253          v i r t u a l   v o i d   B i n d ( u i n t 8   * ) = 0 ; 
00254  
00255  
00256  
00257          v i r t u a l   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 ) = 0 ; 
00258  
00259      } ; 
00260  
00261  / * 
00262  
00263      c l a s s   D r a w A r r a y M u l t i T e x C o o r d : 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 
00264  
00265      { 
00266  
00267      p u b l i c : 
00268  
00269  
00270  
00271          L i s t < D r a w A r r a y B u f f e r I n t e r f a c e   * >   A r r a y ; 
00272  
00273  
00274  
00275      p u b l i c : 
00276  
00277  
00278  
00279          ~ D r a w A r r a y M u l t i T e x C o o r d ( ) 
00280  
00281          { 
00282  
00283                      A r r a y . D e l e t e C l e a r ( ) ; 
00284  
00285          } 
00286  
00287  
00288  
00289      p r o t e c t e d : 
00290  
00291  
00292  
00293          u i n t   G e t B u f f e r S i z e ( ) { C A L L _ H I N T ; r e t u r n   0 ; } 
00294  
00295  
00296  
00297          v o i d   S t a r t A c c e s s ( u i n t 8   * ) C A L L _ H I N T ; 
00298  
00299          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 ) C A L L _ H I N T ; 
00300  
00301  
00302  
00303          v o i d   E n d A c c e s s ( ) C A L L _ H I N T ; 
00304  
00305  
00306  
00307          v o i d   W r i t e ( v o i d   * , i n t , i n t ) C A L L _ H I N T ; 
00308  
00309  
00310  
00311      p u b l i c :   / / f l o a t 
00312  
00313  
00314  
00315          v o i d   W r i t e f v ( f l o a t   * , i n t ) C A L L _ H I N T ; 
00316  
00317  
00318  
00319          v o i d   W r i t e 1 f ( f l o a t ) C A L L _ H I N T ; 
00320  
00321          v o i d   W r i t e 2 f ( f l o a t , f l o a t ) C A L L _ H I N T ; 
00322  
00323          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 ) C A L L _ H I N T ; 
00324  
00325          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 ) C A L L _ H I N T ; 
00326  
00327  
00328  
00329          v o i d   W r i t e 2 f v ( f l o a t   * , i n t = 1 ) C A L L _ H I N T ; 
00330  
00331          v o i d   W r i t e 3 f v ( f l o a t   * , i n t = 1 ) C A L L _ H I N T ; 
00332  
00333          v o i d   W r i t e 4 f v ( f l o a t   * , i n t = 1 ) C A L L _ H I N T ; 
00334  
00335  
00336  
00337          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 ) C A L L _ H I N T ; 
00338  
00339          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 ) C A L L _ H I N T ; 
00340  
00341  
00342  
00343      p u b l i c :   / / d o u b l e 
00344  
00345  
00346  
00347          v o i d   W r i t e d v ( d o u b l e   * , i n t ) C A L L _ H I N T ; 
00348  
00349  
00350  
00351          v o i d   W r i t e 1 d ( d o u b l e ) C A L L _ H I N T ; 
00352  
00353          v o i d   W r i t e 2 d ( d o u b l e , d o u b l e ) C A L L _ H I N T ; 
00354  
00355          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 ) C A L L _ H I N T ; 
00356  
00357          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 ) C A L L _ H I N T ; 
00358  
00359  
00360  
00361          v o i d   W r i t e 2 d v ( d o u b l e   * , i n t = 1 ) C A L L _ H I N T ; 
00362  
00363          v o i d   W r i t e 3 d v ( d o u b l e   * , i n t = 1 ) C A L L _ H I N T ; 
00364  
00365          v o i d   W r i t e 4 d v ( d o u b l e   * , i n t = 1 ) C A L L _ H I N T ; 
00366  
00367  
00368  
00369          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 ) C A L L _ H I N T ; 
00370  
00371          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 ) C A L L _ H I N T ; 
00372  
00373  
00374  
00375      p u b l i c :   / / i n t 
00376  
00377  
00378  
00379          v o i d   W r i t e i v ( i n t   * , i n t ) C A L L _ H I N T ; 
00380  
00381  
00382  
00383          v o i d   W r i t e 1 i ( i n t ) C A L L _ H I N T ; 
00384  
00385          v o i d   W r i t e 2 i ( i n t , i n t ) C A L L _ H I N T ; 
00386  
00387          v o i d   W r i t e 3 i ( i n t , i n t , i n t ) C A L L _ H I N T ; 
00388  
00389          v o i d   W r i t e 4 i ( i n t , i n t , i n t , i n t ) C A L L _ H I N T ; 
00390  
00391  
00392  
00393          v o i d   W r i t e 2 i v ( i n t   * , i n t = 1 ) C A L L _ H I N T ; 
00394  
00395          v o i d   W r i t e 3 i v ( i n t   * , i n t = 1 ) C A L L _ H I N T ; 
00396  
00397          v o i d   W r i t e 4 i v ( i n t   * , i n t = 1 ) C A L L _ H I N T ; 
00398  
00399  
00400  
00401          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 ) C A L L _ H I N T ; 
00402  
00403          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 ) C A L L _ H I N T ; 
00404  
00405  
00406  
00407          v o i d   B i n d ( u i n t 8   * d a t a ) 
00408  
00409          { 
00410  
00411              i n t   n = A r r a y . C o u n t ; 
00412  
00413  
00414  
00415              w h i l e ( n - - ) 
00416  
00417              { 
00418  
00419                  g l A c t i v e T e x t u r e ( G L _ T E X T U R E 0 _ A R B   +   n ) ; 
00420  
00421  
00422  
00423                                  A r r a y [ n ] - > B i n d ( d a t a ) ; 
00424  
00425              } 
00426  
00427  
00428  
00429              / / ُ*N gT[/fc0R0 N
00430  
00431  
00432  
00433                          C h a n g e A c t i v e T e x t u r e ( 0 ) ; 
00434  
00435          } 
00436  
00437  
00438  
00439          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   n ) 
00440  
00441          { 
00442  
00443                      r e t u r n   A r r a y [ n ] ; 
00444  
00445          } 
00446  
00447      } ; * / 
00448  
00449  } / / n a m e s p a c e   h g l 
00450  
00451  # 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 T E R F A C E _ I N C L U D E 
00452  
00453  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义