home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 6 / AACD06.ISO / AACD / System / Mesa-3.1 / src / vertices.h < prev    next >
C/C++ Source or Header  |  2000-01-07  |  2KB  |  75 lines

  1. /* $Id: vertices.h,v 1.5 1999/10/19 18:37:06 keithw Exp $ */
  2.  
  3. /*
  4.  * Mesa 3-D graphics library
  5.  * Version:  3.1
  6.  * 
  7.  * Copyright (C) 1999  Brian Paul   All Rights Reserved.
  8.  * 
  9.  * Permission is hereby granted, free of charge, to any person obtaining a
  10.  * copy of this software and associated documentation files (the "Software"),
  11.  * to deal in the Software without restriction, including without limitation
  12.  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  13.  * and/or sell copies of the Software, and to permit persons to whom the
  14.  * Software is furnished to do so, subject to the following conditions:
  15.  * 
  16.  * The above copyright notice and this permission notice shall be included
  17.  * in all copies or substantial portions of the Software.
  18.  * 
  19.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  20.  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  21.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  22.  * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  23.  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  24.  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  25.  */
  26.  
  27.  
  28. #ifndef VERTICES_H_
  29. #define VERTICES_H_
  30.  
  31.  
  32. typedef void (*gl_transform_func)( GLfloat *first_vert,
  33.                    const GLfloat *m,
  34.                    const GLfloat *src,
  35.                    GLuint src_stride,
  36.                    GLuint count );
  37.  
  38. typedef void (*gl_cliptest_func)( GLfloat *first_vert,
  39.                   GLfloat *last_vert, /* use count instead? */
  40.                   GLubyte *or_mask,
  41.                   GLubyte *and_mask,
  42.                   GLubyte *clip_mask );
  43.  
  44. typedef void (*gl_project_clipped_func)( GLfloat *first,
  45.                      GLfloat *last,
  46.                      const GLfloat *m,
  47.                      GLuint stride,
  48.                      const GLubyte *clipmask ); 
  49.  
  50. typedef void (*gl_project_func)( GLfloat *first,
  51.                  GLfloat *last,
  52.                  const GLfloat *m,
  53.                  GLuint stride );
  54.  
  55.  
  56. /* At the moment these are used by fastpaths in the FX and MGA drivers.
  57.  */
  58. extern gl_transform_func       gl_xform_points3_v16_general;
  59. extern gl_cliptest_func        gl_cliptest_points4_v16;                  
  60. extern gl_project_clipped_func gl_project_clipped_v16;                  
  61. extern gl_project_func         gl_project_v16;                  
  62.  
  63.  
  64.  
  65. extern GLenum gl_reduce_prim[];
  66. extern void gl_init_vertices(void);
  67.  
  68. typedef void (*gl_vertex_interp_func)( GLfloat t, 
  69.                        GLfloat *result,
  70.                        const GLfloat *in,
  71.                        const GLfloat *out );
  72.                  
  73.  
  74. #endif
  75.