Ignore:
Timestamp:
May 23, 2000, 10:35:01 PM (25 years ago)
Author:
jeroen
Message:

* empty log message *

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/opengl/mesa/render_tmp.h

    r2938 r3597  
    1 /* $Id: render_tmp.h,v 1.1 2000-02-29 00:48:37 sandervl Exp $ */
     1/* $Id: render_tmp.h,v 1.2 2000-05-23 20:34:55 jeroen Exp $ */
    22
    33/*
     
    4040#define NEED_EDGEFLAG_SETUP 0
    4141#define EDGEFLAG_TRI(a,b,c,d,e)
     42#define EDGEFLAG_POLY_TRI_PRE(a,b,c,d)
     43#define EDGEFLAG_POLY_TRI_POST(a,b,c,d)
    4244#define EDGEFLAG_QUAD(a,b,c,d,e)
    4345#endif
     
    4951
    5052static void TAG(render_vb_points)( struct vertex_buffer *VB,
    51                                    GLuint start,
    52                                    GLuint count,
    53                                    GLuint parity )
     53                                   GLuint start,
     54                                   GLuint count,
     55                                   GLuint parity )
    5456{
    5557   LOCAL_VARS;
     
    6163
    6264static void TAG(render_vb_lines)( struct vertex_buffer *VB,
    63                                   GLuint start,
    64                                   GLuint count,
    65                                   GLuint parity )
     65                                  GLuint start,
     66                                  GLuint count,
     67                                  GLuint parity )
    6668{
    6769   GLuint j;
     
    7981
    8082static void TAG(render_vb_line_strip)( struct vertex_buffer *VB,
    81                                        GLuint start,
    82                                        GLuint count,
    83                                        GLuint parity )
     83                                       GLuint start,
     84                                       GLuint count,
     85                                       GLuint parity )
    8486{
    8587   GLuint j;
     
    9193      RENDER_LINE( j-1, j );
    9294   }
    93    RESET_STIPPLE;
     95
     96   if (VB->Flag[count] & VERT_END) {
     97      RESET_STIPPLE;
     98   }
    9499   POSTFIX;
    95100}
     
    97102
    98103static void TAG(render_vb_line_loop)( struct vertex_buffer *VB,
    99                                       GLuint start,
    100                                       GLuint count,
    101                                       GLuint parity )
    102 {
    103    GLuint i = start < VB->Start ? VB->Start : start + 1;       
     104                                      GLuint start,
     105                                      GLuint count,
     106                                      GLuint parity )
     107{
     108   GLuint i = start < VB->Start ? VB->Start : start + 1;
    104109   LOCAL_VARS;
    105110   (void) parity;
     
    112117   if (VB->Flag[count] & VERT_END) {
    113118      RENDER_LINE( i-1, start );
    114    }
    115 
    116    RESET_STIPPLE;
     119      RESET_STIPPLE;
     120   }
     121
    117122   POSTFIX;
    118123}
     
    120125
    121126static void TAG(render_vb_triangles)( struct vertex_buffer *VB,
    122                                       GLuint start,
    123                                       GLuint count,
    124                                       GLuint parity )
     127                                      GLuint start,
     128                                      GLuint count,
     129                                      GLuint parity )
    125130{
    126131   GLuint j;
     
    139144
    140145static void TAG(render_vb_tri_strip)( struct vertex_buffer *VB,
    141                                       GLuint start,
    142                                       GLuint count,
    143                                       GLuint parity )
     146                                      GLuint start,
     147                                      GLuint count,
     148                                      GLuint parity )
    144149{
    145150   GLuint j;
     
    149154   if (NEED_EDGEFLAG_SETUP) {
    150155      for (j=start+2;j<count;j++,parity^=1) {
    151         EDGEFLAG_TRI( j-2, j-1, j, j, parity );
    152         RENDER_TRI( j-2, j-1, j, j, parity );
    153         RESET_STIPPLE;
     156        EDGEFLAG_TRI( j-2, j-1, j, j, parity );
     157        RENDER_TRI( j-2, j-1, j, j, parity );
     158        RESET_STIPPLE;
    154159      }
    155160   } else {
    156161      for (j=start+2;j<count;j++,parity^=1) {
    157         RENDER_TRI( j-2, j-1, j, j, parity );
     162        RENDER_TRI( j-2, j-1, j, j, parity );
    158163      }
    159164   }
     
    163168
    164169static void TAG(render_vb_tri_fan)( struct vertex_buffer *VB,
    165                                     GLuint start,
    166                                     GLuint count,
    167                                     GLuint parity )
     170                                    GLuint start,
     171                                    GLuint count,
     172                                    GLuint parity )
    168173{
    169174   GLuint j;
     
    173178   if (NEED_EDGEFLAG_SETUP) {
    174179      for (j=start+2;j<count;j++) {
    175         EDGEFLAG_TRI( start, j-1, j, j, 0 );
    176         RENDER_TRI( start, j-1, j, j, 0 );
    177         RESET_STIPPLE;
     180        EDGEFLAG_TRI( start, j-1, j, j, 0 );
     181        RENDER_TRI( start, j-1, j, j, 0 );
     182        RESET_STIPPLE;
    178183      }
    179184   } else {
    180185      for (j=start+2;j<count;j++) {
    181         RENDER_TRI( start, j-1, j, j, 0 );
     186        RENDER_TRI( start, j-1, j, j, 0 );
    182187      }
    183188   }
     
    188193
    189194static void TAG(render_vb_poly)( struct vertex_buffer *VB,
    190                                  GLuint start,
    191                                  GLuint count,
    192                                  GLuint parity )
    193 {
    194    GLuint j;
    195    LOCAL_VARS;
    196    (void) parity;
    197    INIT(GL_POLYGON);
    198    for (j=start+2;j<count;j++) {
    199       RENDER_TRI( start, j-1, j, start, 0 );
     195                                 GLuint start,
     196                                 GLuint count,
     197                                 GLuint parity )
     198{
     199   GLuint j;
     200   LOCAL_VARS;
     201   (void) parity;
     202   INIT(GL_POLYGON);
     203   if (NEED_EDGEFLAG_SETUP) {
     204      for (j=start+2;j<count;j++) {
     205         EDGEFLAG_POLY_TRI_PRE( start, j-1, j, start );
     206         RENDER_TRI( start, j-1, j, start, 0 );
     207         EDGEFLAG_POLY_TRI_POST( start, j-1, j, start );
     208      }
     209   }
     210   else {
     211      for (j=start+2;j<count;j++) {
     212         RENDER_TRI( start, j-1, j, start, 0 );
     213      }
    200214   }
    201215   RESET_STIPPLE;
     
    205219
    206220static void TAG(render_vb_quads)( struct vertex_buffer *VB,
    207                                   GLuint start,
    208                                   GLuint count,
    209                                   GLuint parity )
     221                                  GLuint start,
     222                                  GLuint count,
     223                                  GLuint parity )
    210224{
    211225   GLuint j;
     
    221235
    222236static void TAG(render_vb_quad_strip)( struct vertex_buffer *VB,
    223                                        GLuint start,
    224                                        GLuint count,
    225                                        GLuint parity )
     237                                       GLuint start,
     238                                       GLuint count,
     239                                       GLuint parity )
    226240{
    227241   GLuint j;
     
    231245   if (NEED_EDGEFLAG_SETUP) {
    232246      for (j=start+3;j<count;j+=2) {
    233         EDGEFLAG_QUAD( j-3, j-2, j, j-1, j );
    234         RENDER_QUAD( j-3, j-2, j, j-1, j );
    235         RESET_STIPPLE;
     247        EDGEFLAG_QUAD( j-3, j-2, j, j-1, j );
     248        RENDER_QUAD( j-3, j-2, j, j-1, j );
     249        RESET_STIPPLE;
    236250      }
    237251   } else {
    238252      for (j=start+3;j<count;j+=2) {
    239         RENDER_QUAD( j-3, j-2, j, j-1, j );
     253        RENDER_QUAD( j-3, j-2, j, j-1, j );
    240254      }
    241255   }
     
    244258
    245259static void TAG(render_vb_noop)( struct vertex_buffer *VB,
    246                                 GLuint start,
    247                                 GLuint count,
    248                                 GLuint parity )
     260                                GLuint start,
     261                                GLuint count,
     262                                GLuint parity )
    249263{
    250264   (void) VB;
Note: See TracChangeset for help on using the changeset viewer.