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