engine: fix hdr to ldr conversion
This commit is contained in:
parent
58873c35c7
commit
0feeab91dd
@ -1110,7 +1110,7 @@ void CollisionBSPData_LoadDispInfo( CCollisionBSPData *pBSPData )
|
|||||||
// get face data
|
// get face data
|
||||||
//
|
//
|
||||||
int face_lump_to_load = LUMP_FACES;
|
int face_lump_to_load = LUMP_FACES;
|
||||||
if ( /*g_pMaterialSystemHardwareConfig->GetHDRType() != HDR_TYPE_NONE &&*/
|
if ( g_pMaterialSystemHardwareConfig->GetHDREnabled() && /*g_pMaterialSystemHardwareConfig->GetHDRType() != HDR_TYPE_NONE &&*/
|
||||||
CMapLoadHelper::LumpSize( LUMP_FACES_HDR ) > 0 )
|
CMapLoadHelper::LumpSize( LUMP_FACES_HDR ) > 0 )
|
||||||
{
|
{
|
||||||
face_lump_to_load = LUMP_FACES_HDR;
|
face_lump_to_load = LUMP_FACES_HDR;
|
||||||
|
@ -3637,7 +3637,7 @@ void CModelRender::ValidateStaticPropColorData( ModelInstanceHandle_t handle )
|
|||||||
// fetch the header
|
// fetch the header
|
||||||
CUtlBuffer utlBuf;
|
CUtlBuffer utlBuf;
|
||||||
char fileName[MAX_PATH];
|
char fileName[MAX_PATH];
|
||||||
if ( g_bBakedPropLightingNoSeparateHDR )
|
if ( !g_pMaterialSystemHardwareConfig->GetHDREnabled() || g_bBakedPropLightingNoSeparateHDR )
|
||||||
{
|
{
|
||||||
Q_snprintf( fileName, sizeof( fileName ), "sp_%d%s.vhv", StaticPropMgr()->GetStaticPropIndex( pProp ), GetPlatformExt() );
|
Q_snprintf( fileName, sizeof( fileName ), "sp_%d%s.vhv", StaticPropMgr()->GetStaticPropIndex( pProp ), GetPlatformExt() );
|
||||||
}
|
}
|
||||||
@ -3930,7 +3930,7 @@ bool CModelRender::LoadStaticPropColorData( IHandleEntity *pProp, DataCacheHandl
|
|||||||
|
|
||||||
// each static prop has its own compiled color mesh
|
// each static prop has its own compiled color mesh
|
||||||
char fileName[MAX_PATH];
|
char fileName[MAX_PATH];
|
||||||
if ( g_bBakedPropLightingNoSeparateHDR )
|
if ( !g_pMaterialSystemHardwareConfig->GetHDREnabled() || g_bBakedPropLightingNoSeparateHDR )
|
||||||
{
|
{
|
||||||
Q_snprintf( fileName, sizeof( fileName ), "sp_%d%s.vhv", StaticPropMgr()->GetStaticPropIndex( pProp ), GetPlatformExt() );
|
Q_snprintf( fileName, sizeof( fileName ), "sp_%d%s.vhv", StaticPropMgr()->GetStaticPropIndex( pProp ), GetPlatformExt() );
|
||||||
}
|
}
|
||||||
|
@ -1038,7 +1038,7 @@ bool Map_CheckForHDR( model_t *pModel, const char *pLoadName )
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool bEnableHDR = ( IsX360() && bHasHDR ) ||
|
bool bEnableHDR = ( IsX360() && bHasHDR ) ||
|
||||||
( bHasHDR && ( mat_hdr_level.GetInt() >= 2 ) &&
|
( bHasHDR &&
|
||||||
( g_pMaterialSystemHardwareConfig->GetDXSupportLevel() >= 90 ) );
|
( g_pMaterialSystemHardwareConfig->GetDXSupportLevel() >= 90 ) );
|
||||||
|
|
||||||
EnableHDR( bEnableHDR );
|
EnableHDR( bEnableHDR );
|
||||||
@ -1856,7 +1856,7 @@ void Mod_LoadFaces( void )
|
|||||||
int ti, di;
|
int ti, di;
|
||||||
|
|
||||||
int face_lump_to_load = LUMP_FACES;
|
int face_lump_to_load = LUMP_FACES;
|
||||||
if ( CMapLoadHelper::LumpSize( LUMP_FACES_HDR ) > 0 )
|
if ( g_pMaterialSystemHardwareConfig->GetHDREnabled() && CMapLoadHelper::LumpSize( LUMP_FACES_HDR ) > 0 )
|
||||||
{
|
{
|
||||||
face_lump_to_load = LUMP_FACES_HDR;
|
face_lump_to_load = LUMP_FACES_HDR;
|
||||||
}
|
}
|
||||||
@ -2288,7 +2288,7 @@ void Mod_LoadLeafs( void )
|
|||||||
Mod_LoadLeafs_Version_0( lh );
|
Mod_LoadLeafs_Version_0( lh );
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
if( CMapLoadHelper::LumpSize( LUMP_LEAF_AMBIENT_LIGHTING_HDR ) > 0 )
|
if( g_pMaterialSystemHardwareConfig->GetHDREnabled() && CMapLoadHelper::LumpSize( LUMP_LEAF_AMBIENT_LIGHTING_HDR ) > 0 )
|
||||||
{
|
{
|
||||||
CMapLoadHelper mlh( LUMP_LEAF_AMBIENT_LIGHTING_HDR );
|
CMapLoadHelper mlh( LUMP_LEAF_AMBIENT_LIGHTING_HDR );
|
||||||
CMapLoadHelper mlhTable( LUMP_LEAF_AMBIENT_INDEX_HDR );
|
CMapLoadHelper mlhTable( LUMP_LEAF_AMBIENT_INDEX_HDR );
|
||||||
@ -2383,7 +2383,7 @@ void Mod_LoadCubemapSamples( void )
|
|||||||
lh.GetMap()->m_pCubemapSamples = out;
|
lh.GetMap()->m_pCubemapSamples = out;
|
||||||
lh.GetMap()->m_nCubemapSamples = count;
|
lh.GetMap()->m_nCubemapSamples = count;
|
||||||
|
|
||||||
bool bHDR = true; //g_pMaterialSystemHardwareConfig->GetHDRType() != HDR_TYPE_NONE;
|
bool bHDR = g_pMaterialSystemHardwareConfig->GetHDREnabled(); //g_pMaterialSystemHardwareConfig->GetHDRType() != HDR_TYPE_NONE;
|
||||||
int nCreateFlags = bHDR ? 0 : TEXTUREFLAGS_SRGB;
|
int nCreateFlags = bHDR ? 0 : TEXTUREFLAGS_SRGB;
|
||||||
|
|
||||||
// We have separate HDR versions of the textures. In order to deal with this,
|
// We have separate HDR versions of the textures. In order to deal with this,
|
||||||
@ -4451,7 +4451,7 @@ void CModelLoader::Map_LoadModel( model_t *mod )
|
|||||||
|
|
||||||
// Until BSP version 19, this must occur after loading texinfo
|
// Until BSP version 19, this must occur after loading texinfo
|
||||||
COM_TimestampedLog( " Mod_LoadLighting" );
|
COM_TimestampedLog( " Mod_LoadLighting" );
|
||||||
if ( CMapLoadHelper::LumpSize( LUMP_LIGHTING_HDR ) > 0 )
|
if ( g_pMaterialSystemHardwareConfig->GetHDREnabled() && CMapLoadHelper::LumpSize( LUMP_LIGHTING_HDR ) > 0 )
|
||||||
{
|
{
|
||||||
CMapLoadHelper mlh( LUMP_LIGHTING_HDR );
|
CMapLoadHelper mlh( LUMP_LIGHTING_HDR );
|
||||||
Mod_LoadLighting( mlh );
|
Mod_LoadLighting( mlh );
|
||||||
@ -4543,7 +4543,7 @@ void CModelLoader::Map_LoadModel( model_t *mod )
|
|||||||
&m_worldBrushData.m_nAreas );
|
&m_worldBrushData.m_nAreas );
|
||||||
|
|
||||||
COM_TimestampedLog( " Mod_LoadWorldlights" );
|
COM_TimestampedLog( " Mod_LoadWorldlights" );
|
||||||
if ( CMapLoadHelper::LumpSize( LUMP_WORLDLIGHTS_HDR ) > 0 )
|
if ( g_pMaterialSystemHardwareConfig->GetHDREnabled() && CMapLoadHelper::LumpSize( LUMP_WORLDLIGHTS_HDR ) > 0 )
|
||||||
{
|
{
|
||||||
CMapLoadHelper mlh( LUMP_WORLDLIGHTS_HDR );
|
CMapLoadHelper mlh( LUMP_WORLDLIGHTS_HDR );
|
||||||
Mod_LoadWorldlights( mlh, true );
|
Mod_LoadWorldlights( mlh, true );
|
||||||
|
@ -1491,7 +1491,7 @@ void CDetailObjectSystem::LevelInitPreEntity()
|
|||||||
}
|
}
|
||||||
|
|
||||||
int detailPropLightingLump;
|
int detailPropLightingLump;
|
||||||
if( g_pMaterialSystemHardwareConfig->GetHDRType() != HDR_TYPE_NONE )
|
if( g_pMaterialSystemHardwareConfig->GetHDREnabled() )
|
||||||
{
|
{
|
||||||
detailPropLightingLump = GAMELUMP_DETAIL_PROP_LIGHTING_HDR;
|
detailPropLightingLump = GAMELUMP_DETAIL_PROP_LIGHTING_HDR;
|
||||||
}
|
}
|
||||||
|
@ -1460,7 +1460,7 @@ static float GetBloomAmount( void )
|
|||||||
|
|
||||||
if ( hdrType == HDR_TYPE_NONE )
|
if ( hdrType == HDR_TYPE_NONE )
|
||||||
{
|
{
|
||||||
flBloomAmount *= mat_non_hdr_bloom_scalefactor.GetFloat();
|
flBloomAmount *= mat_non_hdr_bloom_scalefactor.GetFloat()/2.f;
|
||||||
}
|
}
|
||||||
|
|
||||||
flBloomAmount *= mat_bloom_scalefactor_scalar.GetFloat();
|
flBloomAmount *= mat_bloom_scalefactor_scalar.GetFloat();
|
||||||
|
@ -549,15 +549,15 @@ void CPortal_Player::UpdateExpression( void )
|
|||||||
GetExpresser()->SetOuter( this );
|
GetExpresser()->SetOuter( this );
|
||||||
|
|
||||||
ClearExpression();
|
ClearExpression();
|
||||||
AI_Response response;
|
AI_Response *response = SpeakFindResponse( g_pszChellConcepts[iConcept] );
|
||||||
bool result = SpeakFindResponse( response, g_pszChellConcepts[iConcept] );
|
if ( !response )
|
||||||
if ( !result )
|
|
||||||
{
|
{
|
||||||
m_flExpressionLoopTime = gpGlobals->curtime + RandomFloat(30,40);
|
m_flExpressionLoopTime = gpGlobals->curtime + RandomFloat(30,40);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
char const *szScene = response.GetResponsePtr();
|
char const szScene[256];
|
||||||
|
response->GetResponse( szScene, sizeof(szScene) );
|
||||||
|
|
||||||
// Ignore updates that choose the same scene
|
// Ignore updates that choose the same scene
|
||||||
if ( m_iszExpressionScene != NULL_STRING && stricmp( STRING(m_iszExpressionScene), szScene ) == 0 )
|
if ( m_iszExpressionScene != NULL_STRING && stricmp( STRING(m_iszExpressionScene), szScene ) == 0 )
|
||||||
|
@ -52,7 +52,7 @@ $Configuration
|
|||||||
$Compiler
|
$Compiler
|
||||||
{
|
{
|
||||||
$AdditionalIncludeDirectories "$BASE;.\;$SRCDIR\game\shared;$SRCDIR\utils\common;$SRCDIR\game\shared\econ;$SRCDIR\game\server\NextBot"
|
$AdditionalIncludeDirectories "$BASE;.\;$SRCDIR\game\shared;$SRCDIR\utils\common;$SRCDIR\game\shared\econ;$SRCDIR\game\server\NextBot"
|
||||||
$PreprocessorDefinitions "$BASE;GAME_DLL;VECTOR;VERSION_SAFE_STEAM_API_INTERFACES;PROTECTED_THINGS_ENABLE;sprintf=use_Q_snprintf_instead_of_sprintf;strncpy=use_Q_strncpy_instead;_snprintf=use_Q_snprintf_instead"
|
$PreprocessorDefinitions "$BASE;GAME_DLL;VECTOR;VERSION_SAFE_STEAM_API_INTERFACES;PROTECTED_THINGS_ENABLE;strncpy=use_Q_strncpy_instead;_snprintf=use_Q_snprintf_instead"
|
||||||
$PreprocessorDefinitions "$BASE;SWDS" [$POSIX]
|
$PreprocessorDefinitions "$BASE;SWDS" [$POSIX]
|
||||||
$PreprocessorDefinitions "$BASE;fopen=dont_use_fopen" [$WINDOWS||$X360]
|
$PreprocessorDefinitions "$BASE;fopen=dont_use_fopen" [$WINDOWS||$X360]
|
||||||
$Create/UsePrecompiledHeader "Use Precompiled Header (/Yu)"
|
$Create/UsePrecompiledHeader "Use Precompiled Header (/Yu)"
|
||||||
|
@ -24,6 +24,8 @@
|
|||||||
static CHardwareConfig s_HardwareConfig;
|
static CHardwareConfig s_HardwareConfig;
|
||||||
CHardwareConfig *g_pHardwareConfig = &s_HardwareConfig;
|
CHardwareConfig *g_pHardwareConfig = &s_HardwareConfig;
|
||||||
|
|
||||||
|
extern ConVar mat_hdr_level;
|
||||||
|
|
||||||
EXPOSE_SINGLE_INTERFACE_GLOBALVAR( CHardwareConfig, IMaterialSystemHardwareConfig,
|
EXPOSE_SINGLE_INTERFACE_GLOBALVAR( CHardwareConfig, IMaterialSystemHardwareConfig,
|
||||||
MATERIALSYSTEM_HARDWARECONFIG_INTERFACE_VERSION, s_HardwareConfig )
|
MATERIALSYSTEM_HARDWARECONFIG_INTERFACE_VERSION, s_HardwareConfig )
|
||||||
|
|
||||||
@ -1238,7 +1240,7 @@ int CHardwareConfig::GetMaxVertexTextureDimension() const
|
|||||||
|
|
||||||
HDRType_t CHardwareConfig::GetHDRType() const
|
HDRType_t CHardwareConfig::GetHDRType() const
|
||||||
{
|
{
|
||||||
bool enabled = m_bHDREnabled;
|
bool enabled = (mat_hdr_level.GetInt() >= 2) && GetHDREnabled();
|
||||||
int dxlev = GetDXSupportLevel();
|
int dxlev = GetDXSupportLevel();
|
||||||
int dxsupp = dxlev >= 90;
|
int dxsupp = dxlev >= 90;
|
||||||
HDRType_t caps_hdr = m_Caps.m_HDRType;
|
HDRType_t caps_hdr = m_Caps.m_HDRType;
|
||||||
|
@ -939,10 +939,6 @@ bool CShaderDeviceMgrDx8::ComputeCapsFromD3D( HardwareCaps_t *pCaps, int nAdapte
|
|||||||
D3DFMT_X8R8G8B8, D3DUSAGE_QUERY_FILTER,
|
D3DFMT_X8R8G8B8, D3DUSAGE_QUERY_FILTER,
|
||||||
D3DRTYPE_TEXTURE, D3DFMT_A16B16G16R16 ) == S_OK );
|
D3DRTYPE_TEXTURE, D3DFMT_A16B16G16R16 ) == S_OK );
|
||||||
|
|
||||||
#ifdef TOGLES
|
|
||||||
bSupportsInteger16Textures = caps.SupportInt16Format;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Does the device support filterable fp16 textures?
|
// Does the device support filterable fp16 textures?
|
||||||
bool bSupportsFloat16Textures =
|
bool bSupportsFloat16Textures =
|
||||||
( D3D()->CheckDeviceFormat( nAdapter, DX8_DEVTYPE,
|
( D3D()->CheckDeviceFormat( nAdapter, DX8_DEVTYPE,
|
||||||
@ -1051,6 +1047,11 @@ bool CShaderDeviceMgrDx8::ComputeCapsFromD3D( HardwareCaps_t *pCaps, int nAdapte
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef TOGLES
|
||||||
|
bSupportsInteger16Textures = caps.SupportInt16Format;
|
||||||
|
#endif
|
||||||
|
|
||||||
// Do we have everything necessary to run with integer HDR? Note that
|
// Do we have everything necessary to run with integer HDR? Note that
|
||||||
// even if we don't support integer 16-bit/component textures, we
|
// even if we don't support integer 16-bit/component textures, we
|
||||||
// can still run in this mode if fp16 textures are supported.
|
// can still run in this mode if fp16 textures are supported.
|
||||||
@ -1058,7 +1059,7 @@ bool CShaderDeviceMgrDx8::ComputeCapsFromD3D( HardwareCaps_t *pCaps, int nAdapte
|
|||||||
pCaps->m_SupportsVertexShaders_2_0 &&
|
pCaps->m_SupportsVertexShaders_2_0 &&
|
||||||
// (caps.Caps3 & D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD) &&
|
// (caps.Caps3 & D3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD) &&
|
||||||
// (caps.PrimitiveMiscCaps & D3DPMISCCAPS_SEPARATEALPHABLEND) &&
|
// (caps.PrimitiveMiscCaps & D3DPMISCCAPS_SEPARATEALPHABLEND) &&
|
||||||
( bSupportsInteger16Textures || bSupportsFloat16Textures ) &&
|
bSupportsInteger16Textures &&
|
||||||
pCaps->m_SupportsSRGB;
|
pCaps->m_SupportsSRGB;
|
||||||
|
|
||||||
// Do we have everything necessary to run with float HDR?
|
// Do we have everything necessary to run with float HDR?
|
||||||
|
@ -36,7 +36,7 @@ struct LightState_t
|
|||||||
{
|
{
|
||||||
int m_nNumLights;
|
int m_nNumLights;
|
||||||
bool m_bAmbientLight;
|
bool m_bAmbientLight;
|
||||||
bool m_bStaticLight;
|
bool m_bStaticLightTexel;
|
||||||
bool m_bStaticLightVertex;
|
bool m_bStaticLightVertex;
|
||||||
inline int HasDynamicLight() { return (m_bAmbientLight || (m_nNumLights > 0)) ? 1 : 0; }
|
inline int HasDynamicLight() { return (m_bAmbientLight || (m_nNumLights > 0)) ? 1 : 0; }
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user