xref: /reactos/dll/opengl/mesa/light.h (revision 19f6fc25)
1 /* $Id: light.h,v 1.4 1997/04/01 04:09:16 brianp Exp $ */
2 
3 /*
4  * Mesa 3-D graphics library
5  * Version:  2.3
6  * Copyright (C) 1995-1997  Brian Paul
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  * $Log: light.h,v $
26  * Revision 1.4  1997/04/01 04:09:16  brianp
27  * removed shading functions
28  *
29  * Revision 1.3  1996/12/18 20:03:01  brianp
30  * gl_set_material() now takes a bitmask instead of face and pname
31  * added gl_material_bitmask()
32  *
33  * Revision 1.2  1996/12/07 10:21:58  brianp
34  * added gl_set_material()
35  *
36  * Revision 1.1  1996/09/13 01:38:16  brianp
37  * Initial revision
38  *
39  */
40 
41 
42 #ifndef LIGHT_H
43 #define LIGHT_H
44 
45 
46 #include "types.h"
47 
48 
49 extern void gl_ShadeModel( GLcontext *ctx, GLenum mode );
50 
51 extern void gl_ColorMaterial( GLcontext *ctx, GLenum face, GLenum mode );
52 
53 extern void gl_Lightfv( GLcontext *ctx,
54                         GLenum light, GLenum pname, const GLfloat *params,
55                         GLint nparams );
56 
57 extern void gl_LightModelfv( GLcontext *ctx,
58                              GLenum pname, const GLfloat *params );
59 
60 
61 extern GLuint gl_material_bitmask( GLenum face, GLenum pname );
62 
63 extern void gl_set_material( GLcontext *ctx, GLuint bitmask,
64                              const GLfloat *params);
65 
66 extern void gl_Materialfv( GLcontext *ctx,
67                            GLenum face, GLenum pname, const GLfloat *params );
68 
69 
70 
71 extern void gl_GetLightfv( GLcontext *ctx,
72                            GLenum light, GLenum pname, GLfloat *params );
73 
74 extern void gl_GetLightiv( GLcontext *ctx,
75                            GLenum light, GLenum pname, GLint *params );
76 
77 
78 extern void gl_GetMaterialfv( GLcontext *ctx,
79                               GLenum face, GLenum pname, GLfloat *params );
80 
81 extern void gl_GetMaterialiv( GLcontext *ctx,
82                               GLenum face, GLenum pname, GLint *params );
83 
84 
85 extern void gl_compute_spot_exp_table( struct gl_light *l );
86 
87 extern void gl_compute_material_shine_table( struct gl_material *m );
88 
89 extern void gl_update_lighting( GLcontext *ctx );
90 
91 
92 #endif
93 
94