mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-30 16:30:10 +01:00
Remove FLT_MIN definition to imports.h
Assorted code clean-ups in light.c
This commit is contained in:
parent
0c415bca5c
commit
99823b3744
2 changed files with 45 additions and 48 deletions
|
|
@ -209,6 +209,11 @@ extern void _ext_mesa_free_pixelbuffer( void *pb );
|
|||
#define M_PI (3.1415926536)
|
||||
#endif
|
||||
|
||||
/* XXX this is a bit of a hack needed for compilation within XFree86 */
|
||||
#ifndef FLT_MIN
|
||||
#define FLT_MIN (1.0e-37)
|
||||
#endif
|
||||
|
||||
/* Degrees to radians conversion: */
|
||||
#define DEG2RAD (M_PI/180.0)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
* Version: 5.1
|
||||
|
|
@ -26,23 +25,15 @@
|
|||
|
||||
#include "glheader.h"
|
||||
#include "imports.h"
|
||||
#include "colormac.h"
|
||||
#include "context.h"
|
||||
#include "enums.h"
|
||||
#include "light.h"
|
||||
#include "macros.h"
|
||||
#include "simple_list.h"
|
||||
#include "mtypes.h"
|
||||
#include "math/m_xform.h"
|
||||
#include "math/m_matrix.h"
|
||||
|
||||
|
||||
/* XXX this is a bit of a hack needed for compilation within XFree86 */
|
||||
#ifndef FLT_MIN
|
||||
#define FLT_MIN 1e-37
|
||||
#endif
|
||||
|
||||
|
||||
void
|
||||
_mesa_ShadeModel( GLenum mode )
|
||||
{
|
||||
|
|
@ -68,7 +59,6 @@ _mesa_ShadeModel( GLenum mode )
|
|||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
_mesa_Lightf( GLenum light, GLenum pname, GLfloat param )
|
||||
{
|
||||
|
|
@ -301,7 +291,6 @@ _mesa_GetLightfv( GLenum light, GLenum pname, GLfloat *params )
|
|||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
_mesa_GetLightiv( GLenum light, GLenum pname, GLint *params )
|
||||
{
|
||||
|
|
@ -544,9 +533,10 @@ _mesa_material_bitmask( GLcontext *ctx, GLenum face, GLenum pname,
|
|||
|
||||
/* Perform a straight copy between materials.
|
||||
*/
|
||||
void _mesa_copy_materials( struct gl_material *dst,
|
||||
const struct gl_material *src,
|
||||
GLuint bitmask )
|
||||
void
|
||||
_mesa_copy_materials( struct gl_material *dst,
|
||||
const struct gl_material *src,
|
||||
GLuint bitmask )
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -559,7 +549,8 @@ void _mesa_copy_materials( struct gl_material *dst,
|
|||
|
||||
/* Update derived values following a change in ctx->Light.Material
|
||||
*/
|
||||
void _mesa_update_material( GLcontext *ctx, GLuint bitmask )
|
||||
void
|
||||
_mesa_update_material( GLcontext *ctx, GLuint bitmask )
|
||||
{
|
||||
struct gl_light *light, *list = &ctx->Light.EnabledList;
|
||||
GLfloat (*mat)[4] = ctx->Light.Material.Attrib;
|
||||
|
|
@ -643,8 +634,8 @@ void _mesa_update_material( GLcontext *ctx, GLuint bitmask )
|
|||
* according to the bitmask in ColorMaterialBitmask, which is
|
||||
* set by glColorMaterial().
|
||||
*/
|
||||
void _mesa_update_color_material( GLcontext *ctx,
|
||||
const GLfloat color[4] )
|
||||
void
|
||||
_mesa_update_color_material( GLcontext *ctx, const GLfloat color[4] )
|
||||
{
|
||||
GLuint bitmask = ctx->Light.ColorMaterialBitmask;
|
||||
struct gl_material *mat = &ctx->Light.Material;
|
||||
|
|
@ -658,8 +649,6 @@ void _mesa_update_color_material( GLcontext *ctx,
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void
|
||||
_mesa_ColorMaterial( GLenum face, GLenum mode )
|
||||
{
|
||||
|
|
@ -698,9 +687,6 @@ _mesa_ColorMaterial( GLenum face, GLenum mode )
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void
|
||||
_mesa_GetMaterialfv( GLenum face, GLenum pname, GLfloat *params )
|
||||
{
|
||||
|
|
@ -747,7 +733,6 @@ _mesa_GetMaterialfv( GLenum face, GLenum pname, GLfloat *params )
|
|||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
_mesa_GetMaterialiv( GLenum face, GLenum pname, GLint *params )
|
||||
{
|
||||
|
|
@ -806,7 +791,6 @@ _mesa_GetMaterialiv( GLenum face, GLenum pname, GLint *params )
|
|||
|
||||
|
||||
|
||||
|
||||
/**********************************************************************/
|
||||
/***** Lighting computation *****/
|
||||
/**********************************************************************/
|
||||
|
|
@ -856,7 +840,9 @@ _mesa_invalidate_spot_exp_table( struct gl_light *l )
|
|||
l->_SpotExpTable[0][0] = -1;
|
||||
}
|
||||
|
||||
static void validate_spot_exp_table( struct gl_light *l )
|
||||
|
||||
static void
|
||||
validate_spot_exp_table( struct gl_light *l )
|
||||
{
|
||||
GLint i;
|
||||
GLdouble exponent = l->SpotExponent;
|
||||
|
|
@ -884,24 +870,28 @@ static void validate_spot_exp_table( struct gl_light *l )
|
|||
|
||||
|
||||
|
||||
|
||||
/* Calculate a new shine table. Doing this here saves a branch in
|
||||
* lighting, and the cost of doing it early may be partially offset
|
||||
* by keeping a MRU cache of shine tables for various shine values.
|
||||
*/
|
||||
void
|
||||
_mesa_invalidate_shine_table( GLcontext *ctx, GLuint i )
|
||||
_mesa_invalidate_shine_table( GLcontext *ctx, GLuint side )
|
||||
{
|
||||
if (ctx->_ShineTable[i])
|
||||
ctx->_ShineTable[i]->refcount--;
|
||||
ctx->_ShineTable[i] = 0;
|
||||
ASSERT(side < 2);
|
||||
if (ctx->_ShineTable[side])
|
||||
ctx->_ShineTable[side]->refcount--;
|
||||
ctx->_ShineTable[side] = 0;
|
||||
}
|
||||
|
||||
static void validate_shine_table( GLcontext *ctx, GLuint i, GLfloat shininess )
|
||||
|
||||
static void
|
||||
validate_shine_table( GLcontext *ctx, GLuint side, GLfloat shininess )
|
||||
{
|
||||
struct gl_shine_tab *list = ctx->_ShineTabList;
|
||||
struct gl_shine_tab *s;
|
||||
|
||||
ASSERT(side < 2);
|
||||
|
||||
foreach(s, list)
|
||||
if ( s->shininess == shininess )
|
||||
break;
|
||||
|
|
@ -937,18 +927,19 @@ static void validate_shine_table( GLcontext *ctx, GLuint i, GLfloat shininess )
|
|||
s->shininess = shininess;
|
||||
}
|
||||
|
||||
if (ctx->_ShineTable[i])
|
||||
ctx->_ShineTable[i]->refcount--;
|
||||
if (ctx->_ShineTable[side])
|
||||
ctx->_ShineTable[side]->refcount--;
|
||||
|
||||
ctx->_ShineTable[i] = s;
|
||||
ctx->_ShineTable[side] = s;
|
||||
move_to_tail( list, s );
|
||||
s->refcount++;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
_mesa_validate_all_lighting_tables( GLcontext *ctx )
|
||||
{
|
||||
GLint i;
|
||||
GLuint i;
|
||||
GLfloat shininess;
|
||||
|
||||
shininess = ctx->Light.Material.Attrib[MAT_ATTRIB_FRONT_SHININESS][0];
|
||||
|
|
@ -966,7 +957,6 @@ _mesa_validate_all_lighting_tables( GLcontext *ctx )
|
|||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Examine current lighting parameters to determine if the optimized lighting
|
||||
* function can be used.
|
||||
|
|
@ -1046,7 +1036,7 @@ _mesa_update_lighting( GLcontext *ctx )
|
|||
* Also update on lighting space changes.
|
||||
*/
|
||||
static void
|
||||
_mesa_compute_light_positions( GLcontext *ctx )
|
||||
compute_light_positions( GLcontext *ctx )
|
||||
{
|
||||
struct gl_light *light;
|
||||
static const GLfloat eye_z[3] = { 0, 0, 1 };
|
||||
|
|
@ -1117,8 +1107,6 @@ _mesa_compute_light_positions( GLcontext *ctx )
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
static void
|
||||
update_modelview_scale( GLcontext *ctx )
|
||||
{
|
||||
|
|
@ -1140,7 +1128,8 @@ update_modelview_scale( GLcontext *ctx )
|
|||
|
||||
/* Bring uptodate any state that relies on _NeedEyeCoords.
|
||||
*/
|
||||
void _mesa_update_tnl_spaces( GLcontext *ctx, GLuint new_state )
|
||||
void
|
||||
_mesa_update_tnl_spaces( GLcontext *ctx, GLuint new_state )
|
||||
{
|
||||
const GLuint oldneedeyecoords = ctx->_NeedEyeCoords;
|
||||
|
||||
|
|
@ -1165,7 +1154,7 @@ void _mesa_update_tnl_spaces( GLcontext *ctx, GLuint new_state )
|
|||
/* Recalculate all state that depends on _NeedEyeCoords.
|
||||
*/
|
||||
update_modelview_scale(ctx);
|
||||
_mesa_compute_light_positions( ctx );
|
||||
compute_light_positions( ctx );
|
||||
|
||||
if (ctx->Driver.LightingSpaceChange)
|
||||
ctx->Driver.LightingSpaceChange( ctx );
|
||||
|
|
@ -1180,7 +1169,7 @@ void _mesa_update_tnl_spaces( GLcontext *ctx, GLuint new_state )
|
|||
update_modelview_scale(ctx);
|
||||
|
||||
if (new_state & (_NEW_LIGHT|_NEW_MODELVIEW))
|
||||
_mesa_compute_light_positions( ctx );
|
||||
compute_light_positions( ctx );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1236,6 +1225,7 @@ init_light( struct gl_light *l, GLuint n )
|
|||
l->Enabled = GL_FALSE;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initialize the light model data structure.
|
||||
*
|
||||
|
|
@ -1250,6 +1240,7 @@ init_lightmodel( struct gl_lightmodel *lm )
|
|||
lm->ColorControl = GL_SINGLE_COLOR;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initialize the material data structure.
|
||||
*
|
||||
|
|
@ -1274,12 +1265,13 @@ init_material( struct gl_material *m )
|
|||
}
|
||||
|
||||
|
||||
void _mesa_init_lighting( GLcontext *ctx )
|
||||
void
|
||||
_mesa_init_lighting( GLcontext *ctx )
|
||||
{
|
||||
int i;
|
||||
GLuint i;
|
||||
|
||||
/* Lighting group */
|
||||
for (i=0;i<MAX_LIGHTS;i++) {
|
||||
for (i = 0; i < MAX_LIGHTS; i++) {
|
||||
init_light( &ctx->Light.Light[i], i );
|
||||
}
|
||||
make_empty_list( &ctx->Light.EnabledList );
|
||||
|
|
@ -1299,6 +1291,7 @@ void _mesa_init_lighting( GLcontext *ctx )
|
|||
/* Lighting miscellaneous */
|
||||
ctx->_ShineTabList = MALLOC_STRUCT( gl_shine_tab );
|
||||
make_empty_list( ctx->_ShineTabList );
|
||||
/* Allocate 10 (arbitrary) shininess lookup tables */
|
||||
for (i = 0 ; i < 10 ; i++) {
|
||||
struct gl_shine_tab *s = MALLOC_STRUCT( gl_shine_tab );
|
||||
s->shininess = -1;
|
||||
|
|
@ -1306,8 +1299,6 @@ void _mesa_init_lighting( GLcontext *ctx )
|
|||
insert_at_tail( ctx->_ShineTabList, s );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Miscellaneous */
|
||||
ctx->Light._NeedEyeCoords = 0;
|
||||
ctx->_NeedEyeCoords = 0;
|
||||
|
|
@ -1315,7 +1306,8 @@ void _mesa_init_lighting( GLcontext *ctx )
|
|||
}
|
||||
|
||||
|
||||
void _mesa_free_lighting_data( GLcontext *ctx )
|
||||
void
|
||||
_mesa_free_lighting_data( GLcontext *ctx )
|
||||
{
|
||||
struct gl_shine_tab *s, *tmps;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue