home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / mesa-1.2.8 / src / list.h < prev    next >
C/C++ Source or Header  |  1996-05-27  |  9KB  |  309 lines

  1. /* list.h */
  2.  
  3. /*
  4.  * Mesa 3-D graphics library
  5.  * Version:  1.2
  6.  * Copyright (C) 1995  Brian Paul  (brianp@ssec.wisc.edu)
  7.  *
  8.  * This library is free software; you can redistribute it and/or
  9.  * modify it under the terms of the GNU Library General Public
  10.  * License as published by the Free Software Foundation; either
  11.  * version 2 of the License, or (at your option) any later version.
  12.  *
  13.  * This library is distributed in the hope that it will be useful,
  14.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  16.  * Library General Public License for more details.
  17.  *
  18.  * You should have received a copy of the GNU Library General Public
  19.  * License along with this library; if not, write to the Free
  20.  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  */
  22.  
  23.  
  24. /*
  25. $Id: list.h,v 1.21 1996/05/01 20:46:01 brianp Exp $
  26.  
  27. $Log: list.h,v $
  28.  * Revision 1.21  1996/05/01  20:46:01  brianp
  29.  * added GL_MESA_window_pos extension code
  30.  *
  31.  * Revision 1.20  1996/02/26  15:10:12  brianp
  32.  * use CC.Current.IntColor instead of CC.Current.Color
  33.  *
  34.  * Revision 1.19  1995/12/30  17:17:56  brianp
  35.  * added direct glScale and glTranslate support
  36.  *
  37.  * Revision 1.18  1995/12/19  17:06:44  brianp
  38.  * added gl_save_blendcolor, blendequation, colormaterial, edge_flag, matrixmode
  39.  * removed gl_save_set_boolean, enum, float, int, uint
  40.  *
  41.  * Revision 1.17  1995/12/19  16:42:20  brianp
  42.  * added gl_save_pixeltransfer
  43.  *
  44.  * Revision 1.16  1995/10/29  19:14:19  brianp
  45.  * added glPolygonOffsetEXT display list support
  46.  *
  47.  * Revision 1.15  1995/10/14  17:42:34  brianp
  48.  * added glClipPlane, glLightModel, and texture functions
  49.  *
  50.  * Revision 1.14  1995/10/04  19:35:07  brianp
  51.  * replaced gl_save_normal with gl_save_normal3fv and gl_save_normal3f
  52.  *
  53.  * Revision 1.13  1995/08/31  18:34:16  brianp
  54.  * added display list / glScissor support
  55.  *
  56.  * Revision 1.12  1995/08/01  20:53:35  brianp
  57.  * added glPixelZoom support
  58.  *
  59.  * Revision 1.11  1995/07/25  16:41:54  brianp
  60.  * made changes for using CC.VertexFunc pointer
  61.  *
  62.  * Revision 1.10  1995/06/22  14:27:50  brianp
  63.  * added prototypes for gl_save_stencil* functions
  64.  *
  65.  * Revision 1.9  1995/05/22  20:59:34  brianp
  66.  * Release 1.2
  67.  *
  68.  * Revision 1.8  1995/05/19  13:26:50  brianp
  69.  * added display list support for selection/name stack functions
  70.  *
  71.  * Revision 1.7  1995/05/15  15:24:28  brianp
  72.  * added gl_list_index()
  73.  *
  74.  * Revision 1.6  1995/05/10  18:45:04  brianp
  75.  * added glTexImage support
  76.  *
  77.  * Revision 1.5  1995/04/19  13:48:18  brianp
  78.  * renamed occurances of near and far for SCO x86 Unix
  79.  *
  80.  * Revision 1.4  1995/04/08  15:26:55  brianp
  81.  * add gl_save_shademodel
  82.  *
  83.  * Revision 1.3  1995/03/08  15:10:02  brianp
  84.  * added logicop and clear_index functions
  85.  *
  86.  * Revision 1.2  1995/03/04  19:25:29  brianp
  87.  * 1.1 beta revision
  88.  *
  89.  * Revision 1.1  1995/02/24  14:24:47  brianp
  90.  * Initial revision
  91.  *
  92.  */
  93.  
  94.  
  95. #ifndef LIST_H
  96. #define LIST_H
  97.  
  98.  
  99. #include "GL/gl.h"
  100.  
  101.  
  102.  
  103. extern void gl_init_lists( void );
  104.  
  105. extern GLint gl_list_index( void );
  106.  
  107.  
  108. extern void gl_save_accum( GLenum op, GLfloat value );
  109.  
  110. extern void gl_save_alphafunc( GLenum func, GLclampf ref );
  111.  
  112. extern void gl_save_blendcolor( GLfloat red, GLfloat green,
  113.                                 GLfloat blue, GLfloat alpha );
  114.  
  115. extern void gl_save_blendequation( GLenum mode );
  116.  
  117. extern void gl_save_blendfunc( GLenum sfactor, GLenum dfactor );
  118.  
  119. extern void gl_save_begin( GLenum mode );
  120.  
  121. extern void gl_save_bitmap( GLsizei width, GLsizei height,
  122.                 GLfloat xorig, GLfloat yorig,
  123.                 GLfloat xmove, GLfloat ymove,
  124.                 const GLubyte *bitmap );
  125.  
  126. extern void gl_save_clear( GLbitfield mask );
  127.  
  128. extern void gl_save_clearaccum( GLfloat red, GLfloat green,
  129.                     GLfloat blue, GLfloat alpha );
  130.  
  131. extern void gl_save_clearcolor( GLclampf red, GLclampf green,
  132.                     GLclampf blue, GLclampf alpha );
  133.  
  134. extern void gl_save_cleardepth( GLclampd depth );
  135.  
  136. extern void gl_save_clearindex( GLfloat c );
  137.  
  138. extern void gl_save_clearstencil( GLint s );
  139.  
  140. extern void gl_save_clipplane( GLenum plane, const GLfloat *equ );
  141.  
  142. extern void gl_save_color( const GLint c[4] );
  143.  
  144. extern void gl_save_colormask( GLboolean red, GLboolean green,
  145.                    GLboolean blue, GLboolean alpha );
  146.  
  147. extern void gl_save_colormaterial( GLenum face, GLenum mode );
  148.  
  149. extern void gl_save_copypixels( GLint x, GLint y,
  150.                 GLsizei width, GLsizei height, GLenum type );
  151.  
  152. extern void gl_save_cullface( GLenum mode );
  153.  
  154. extern void gl_save_depthfunc( GLenum func );
  155.  
  156. extern void gl_save_depthmask( GLboolean mask );
  157.  
  158. extern void gl_save_depthrange( GLclampd nearval, GLclampd farval );
  159.  
  160. extern void gl_save_disable( GLenum cap );
  161.  
  162. extern void gl_save_drawbuffer( GLenum mode );
  163.  
  164. extern void gl_save_drawpixels( GLsizei width, GLsizei height, GLenum format,
  165.                     GLenum type, GLvoid *pixels );
  166.  
  167. extern void gl_save_edgeflag( GLboolean flag );
  168.  
  169. extern void gl_save_enable( GLenum cap );
  170.  
  171. extern void gl_save_end( void );
  172.  
  173. extern void gl_save_evalcoord1( GLfloat u );
  174.  
  175. extern void gl_save_evalcoord2( GLfloat u, GLfloat v );
  176.  
  177. extern void gl_save_evalmesh1( GLenum mode, GLint i1, GLint i2 );
  178.  
  179. extern void gl_save_evalmesh2( GLenum mode, GLint i1, GLint i2,
  180.                    GLint j1, GLint j2 );
  181.  
  182. extern void gl_save_evalpoint1( GLint i );
  183.  
  184. extern void gl_save_evalpoint2( GLint i, GLint j );
  185.  
  186. extern void gl_save_fog( GLenum pname, const GLfloat *params );
  187.  
  188. extern void gl_save_frontface( GLenum mode );
  189.  
  190. extern void gl_save_hint( GLenum target, GLenum mode );
  191.  
  192. extern void gl_save_index( GLuint index );
  193.  
  194. extern void gl_save_indexmask( GLuint mask );
  195.  
  196. extern void gl_save_initnames( void );
  197.  
  198. extern void gl_save_light( GLenum light, GLenum pname, const GLfloat *params,
  199.                GLuint numparams );
  200.  
  201. extern void gl_save_lightmodel( GLenum pname, const GLfloat *params );
  202.  
  203. extern void gl_save_linewidth( GLfloat width );
  204.  
  205. extern void gl_save_linestipple( GLint factor, GLushort pattern );
  206.  
  207. extern void gl_save_loadmatrix( const GLfloat *m );
  208.  
  209. extern void gl_save_loadname( GLuint name );
  210.  
  211. extern void gl_save_logicop( GLenum opcode );
  212.  
  213. extern void gl_save_map1( GLenum target, GLfloat u1, GLfloat u2, GLint stride,
  214.               GLint order, const GLfloat *points );
  215.  
  216. extern void gl_save_map2( GLenum target,
  217.               GLfloat u1, GLfloat u2, GLint ustride, GLint uorder,
  218.               GLfloat v1, GLfloat v2, GLint vstride, GLint vorder,
  219.               const GLfloat *points );
  220.  
  221. extern void gl_save_mapgrid1( GLint un, GLfloat u1, GLfloat u2 );
  222.  
  223. extern void gl_save_mapgrid2( GLint un, GLfloat u1, GLfloat u2,
  224.                   GLint vn, GLfloat v1, GLfloat v2 );
  225.  
  226. extern void gl_save_material( GLenum face, GLenum pname,
  227.                   const GLfloat *params );
  228.  
  229. extern void gl_save_matrixmode( GLenum mode );
  230.  
  231. extern void gl_save_multmatrix( const GLfloat *m );
  232.  
  233. extern void gl_save_normal3fv( const GLfloat n[3] );
  234.  
  235. extern void gl_save_normal3f( GLfloat nx, GLfloat ny, GLfloat nz );
  236.  
  237. extern void gl_save_passthrough( GLfloat token );
  238.  
  239. extern void gl_save_pixelmap( GLenum map, GLint mapsize,
  240.                    const GLfloat *values );
  241.  
  242. extern void gl_save_pixeltransfer( GLenum pname, GLfloat param );
  243.  
  244. extern void gl_save_pixelzoom( GLfloat xfactor, GLfloat yfactor );
  245.  
  246. extern void gl_save_pointsize( GLfloat size );
  247.  
  248. extern void gl_save_polygonmode( GLenum face, GLenum mode );
  249.  
  250. extern void gl_save_polygonoffset( GLfloat factor, GLfloat bias );
  251.  
  252. extern void gl_save_popattrib( void );
  253.  
  254. extern void gl_save_popmatrix( void );
  255.  
  256. extern void gl_save_popname( void );
  257.  
  258. extern void gl_save_pushattrib( GLbitfield mask );
  259.  
  260. extern void gl_save_pushmatrix( void );
  261.  
  262. extern void gl_save_pushname( GLuint name );
  263.  
  264. extern void gl_save_rasterpos( const GLfloat v[4] );
  265.  
  266. extern void gl_save_readbuffer( GLenum mode );
  267.  
  268. extern void gl_save_scissor( GLint x, GLint y, GLsizei width, GLsizei height );
  269.  
  270. extern void gl_save_shademodel( GLenum mode );
  271.  
  272. extern void gl_save_stencilfunc( GLenum func, GLint ref, GLuint mask );
  273.  
  274. extern void gl_save_stencilmask( GLuint mask );
  275.  
  276. extern void gl_save_stencilop( GLenum fail, GLenum zfail, GLenum zpass );
  277.  
  278. extern void gl_save_texcoord( const GLfloat tc[4] );
  279.  
  280. extern void gl_save_texenv( GLenum target, GLenum pname,
  281.                             const GLfloat *params );
  282.  
  283. extern void gl_save_texparameter( GLenum target, GLenum pname,
  284.                                   const GLfloat *params );
  285.  
  286. extern void gl_save_texgen( GLenum coord, GLenum pname,
  287.                             const GLfloat *params );
  288.  
  289. extern void gl_save_teximage1d( GLint level, GLint components,
  290.                     GLsizei width, GLint border,
  291.                     const GLubyte *pixels );
  292.  
  293. extern void gl_save_teximage2d( GLint level, GLint components,
  294.                     GLsizei width, GLsizei height, GLint border,
  295.                     const GLubyte *pixels );
  296.  
  297. extern void gl_save_scale( GLfloat x, GLfloat y, GLfloat z );
  298.  
  299. extern void gl_save_translate( GLfloat x, GLfloat y, GLfloat z );
  300.  
  301. extern void gl_save_vertex( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
  302.  
  303. extern void gl_save_viewport( GLint x, GLint y, GLsizei width, GLsizei height );
  304.  
  305. extern void gl_save_windowpos( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
  306.  
  307.  
  308. #endif
  309.