mirror of
https://github.com/YGGverse/xash3d-fwgs.git
synced 2025-02-04 19:24:22 +00:00
ref: gl: don't depend on lightgamma in recursive light point
This commit is contained in:
parent
9304a0041d
commit
8298053e6a
@ -238,7 +238,6 @@ typedef struct
|
|||||||
int realframecount; // not including viewpasses
|
int realframecount; // not including viewpasses
|
||||||
int framecount;
|
int framecount;
|
||||||
|
|
||||||
qboolean ignore_lightgamma;
|
|
||||||
qboolean fCustomRendering;
|
qboolean fCustomRendering;
|
||||||
qboolean fResetVis;
|
qboolean fResetVis;
|
||||||
qboolean fFlipViewModel;
|
qboolean fFlipViewModel;
|
||||||
@ -528,7 +527,6 @@ void GL_SetupAttributes( int safegl );
|
|||||||
void GL_OnContextCreated( void );
|
void GL_OnContextCreated( void );
|
||||||
void GL_InitExtensions( void );
|
void GL_InitExtensions( void );
|
||||||
void GL_ClearExtensions( void );
|
void GL_ClearExtensions( void );
|
||||||
void VID_CheckChanges( void );
|
|
||||||
int GL_LoadTexture( const char *name, const byte *buf, size_t size, int flags );
|
int GL_LoadTexture( const char *name, const byte *buf, size_t size, int flags );
|
||||||
void GL_FreeImage( const char *name );
|
void GL_FreeImage( const char *name );
|
||||||
qboolean VID_ScreenShot( const char *filename, int shot_type );
|
qboolean VID_ScreenShot( const char *filename, int shot_type );
|
||||||
|
@ -320,18 +320,10 @@ static qboolean R_RecursiveLightPoint( model_t *model, mnode_t *node, float p1f,
|
|||||||
{
|
{
|
||||||
uint scale = tr.lightstylevalue[surf->styles[map]];
|
uint scale = tr.lightstylevalue[surf->styles[map]];
|
||||||
|
|
||||||
if( tr.ignore_lightgamma )
|
cv->r += lm->r * scale;
|
||||||
{
|
cv->g += lm->g * scale;
|
||||||
cv->r += lm->r * scale;
|
cv->b += lm->b * scale;
|
||||||
cv->g += lm->g * scale;
|
|
||||||
cv->b += lm->b * scale;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
cv->r += gEngfuncs.LightToTexGamma( lm->r ) * scale;
|
|
||||||
cv->g += gEngfuncs.LightToTexGamma( lm->g ) * scale;
|
|
||||||
cv->b += gEngfuncs.LightToTexGamma( lm->b ) * scale;
|
|
||||||
}
|
|
||||||
lm += size; // skip to next lightmap
|
lm += size; // skip to next lightmap
|
||||||
|
|
||||||
if( dm != NULL )
|
if( dm != NULL )
|
||||||
@ -418,9 +410,10 @@ colorVec R_LightVecInternal( const vec3_t start, const vec3_t end, vec3_t lspot,
|
|||||||
{
|
{
|
||||||
if( lspot ) VectorCopy( g_trace_lightspot, lspot );
|
if( lspot ) VectorCopy( g_trace_lightspot, lspot );
|
||||||
if( lvec ) VectorNormalize2( g_trace_lightvec, lvec );
|
if( lvec ) VectorNormalize2( g_trace_lightvec, lvec );
|
||||||
light.r = Q_min(( cv.r >> 7 ), 255 );
|
|
||||||
light.g = Q_min(( cv.g >> 7 ), 255 );
|
light.r = Q_min(( cv.r >> 8 ), 255 );
|
||||||
light.b = Q_min(( cv.b >> 7 ), 255 );
|
light.g = Q_min(( cv.g >> 8 ), 255 );
|
||||||
|
light.b = Q_min(( cv.b >> 8 ), 255 );
|
||||||
last_fraction = g_trace_fraction;
|
last_fraction = g_trace_fraction;
|
||||||
|
|
||||||
if(( light.r + light.g + light.b ) != 0 )
|
if(( light.r + light.g + light.b ) != 0 )
|
||||||
|
@ -3661,9 +3661,7 @@ void R_GatherPlayerLight( void )
|
|||||||
cl_entity_t *view = tr.viewent;
|
cl_entity_t *view = tr.viewent;
|
||||||
colorVec c;
|
colorVec c;
|
||||||
|
|
||||||
tr.ignore_lightgamma = true;
|
|
||||||
c = R_LightPoint( view->origin );
|
c = R_LightPoint( view->origin );
|
||||||
tr.ignore_lightgamma = false;
|
|
||||||
gEngfuncs.SetLocalLightLevel( ( c.r + c.g + c.b ) / 3 );
|
gEngfuncs.SetLocalLightLevel( ( c.r + c.g + c.b ) / 3 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user