From f56bb35301836e56582a575a75864392a0177875 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20P=2E=20Tjern=C3=B8?= Date: Mon, 2 Dec 2013 19:31:46 -0800 Subject: Fix line endings. WHAMMY. --- mp/src/game/client/rendertexture.cpp | 516 +++++++++++++++++------------------ 1 file changed, 258 insertions(+), 258 deletions(-) (limited to 'mp/src/game/client/rendertexture.cpp') diff --git a/mp/src/game/client/rendertexture.cpp b/mp/src/game/client/rendertexture.cpp index 829f2d43..78780e93 100644 --- a/mp/src/game/client/rendertexture.cpp +++ b/mp/src/game/client/rendertexture.cpp @@ -1,258 +1,258 @@ -//========= Copyright Valve Corporation, All rights reserved. ============// -// -// Purpose: -// Implements local hooks into named renderable textures. -// See matrendertexture.cpp in material system for list of available RT's -// -//=============================================================================// - -#include "materialsystem/imesh.h" -#include "materialsystem/itexture.h" -#include "materialsystem/MaterialSystemUtil.h" -#include "tier1/strtools.h" -#include "rendertexture.h" - -// memdbgon must be the last include file in a .cpp file!!! -#include "tier0/memdbgon.h" - -void ReleaseRenderTargets( void ); - -void AddReleaseFunc( void ) -{ - static bool bAdded = false; - if( !bAdded ) - { - bAdded = true; - materials->AddReleaseFunc( ReleaseRenderTargets ); - } -} - -//============================================================================= -// Power of Two Frame Buffer Texture -//============================================================================= -static CTextureReference s_pPowerOfTwoFrameBufferTexture; -ITexture *GetPowerOfTwoFrameBufferTexture( void ) -{ - if ( IsX360() ) - { - return GetFullFrameFrameBufferTexture( 1 ); - } - - if ( !s_pPowerOfTwoFrameBufferTexture ) - { - s_pPowerOfTwoFrameBufferTexture.Init( materials->FindTexture( "_rt_PowerOfTwoFB", TEXTURE_GROUP_RENDER_TARGET ) ); - Assert( !IsErrorTexture( s_pPowerOfTwoFrameBufferTexture ) ); - AddReleaseFunc(); - } - - return s_pPowerOfTwoFrameBufferTexture; -} - -//============================================================================= -// Fullscreen Texture -//============================================================================= -static CTextureReference s_pFullscreenTexture; -ITexture *GetFullscreenTexture( void ) -{ - if ( !s_pFullscreenTexture ) - { - s_pFullscreenTexture.Init( materials->FindTexture( "_rt_Fullscreen", TEXTURE_GROUP_RENDER_TARGET ) ); - Assert( !IsErrorTexture( s_pFullscreenTexture ) ); - AddReleaseFunc(); - } - - return s_pFullscreenTexture; -} - -//============================================================================= -// Camera Texture -//============================================================================= -static CTextureReference s_pCameraTexture; -ITexture *GetCameraTexture( void ) -{ - if ( !s_pCameraTexture ) - { - s_pCameraTexture.Init( materials->FindTexture( "_rt_Camera", TEXTURE_GROUP_RENDER_TARGET ) ); - Assert( !IsErrorTexture( s_pCameraTexture ) ); - AddReleaseFunc(); - } - - return s_pCameraTexture; -} - -//============================================================================= -// Full Frame Depth Texture -//============================================================================= -static CTextureReference s_pFullFrameDepthTexture; -ITexture *GetFullFrameDepthTexture( void ) -{ - if ( !s_pFullFrameDepthTexture ) - { - s_pFullFrameDepthTexture.Init( materials->FindTexture( "_rt_FullFrameDepth", TEXTURE_GROUP_RENDER_TARGET ) ); - Assert( !IsErrorTexture( s_pFullFrameDepthTexture ) ); - AddReleaseFunc(); - } - - return s_pFullFrameDepthTexture; -} - -//============================================================================= -// Full Frame Buffer Textures -//============================================================================= -static CTextureReference s_pFullFrameFrameBufferTexture[MAX_FB_TEXTURES]; -ITexture *GetFullFrameFrameBufferTexture( int textureIndex ) -{ - if ( !s_pFullFrameFrameBufferTexture[textureIndex] ) - { - char name[256]; - if( textureIndex != 0 ) - { - sprintf( name, "_rt_FullFrameFB%d", textureIndex ); - } - else - { - Q_strcpy( name, "_rt_FullFrameFB" ); - } - s_pFullFrameFrameBufferTexture[textureIndex].Init( materials->FindTexture( name, TEXTURE_GROUP_RENDER_TARGET ) ); - Assert( !IsErrorTexture( s_pFullFrameFrameBufferTexture[textureIndex] ) ); - AddReleaseFunc(); - } - - return s_pFullFrameFrameBufferTexture[textureIndex]; -} - - -//============================================================================= -// Water reflection -//============================================================================= -static CTextureReference s_pWaterReflectionTexture; -ITexture *GetWaterReflectionTexture( void ) -{ - if ( !s_pWaterReflectionTexture ) - { - s_pWaterReflectionTexture.Init( materials->FindTexture( "_rt_WaterReflection", TEXTURE_GROUP_RENDER_TARGET ) ); - Assert( !IsErrorTexture( s_pWaterReflectionTexture ) ); - AddReleaseFunc(); - } - - return s_pWaterReflectionTexture; -} - -//============================================================================= -// Water refraction -//============================================================================= -static CTextureReference s_pWaterRefractionTexture; -ITexture *GetWaterRefractionTexture( void ) -{ - if ( !s_pWaterRefractionTexture ) - { - s_pWaterRefractionTexture.Init( materials->FindTexture( "_rt_WaterRefraction", TEXTURE_GROUP_RENDER_TARGET ) ); - Assert( !IsErrorTexture( s_pWaterRefractionTexture ) ); - AddReleaseFunc(); - } - - return s_pWaterRefractionTexture; -} - -//============================================================================= -// Small Buffer HDR0 -//============================================================================= -static CTextureReference s_pSmallBufferHDR0; -ITexture *GetSmallBufferHDR0( void ) -{ - if ( !s_pSmallBufferHDR0 ) - { - s_pSmallBufferHDR0.Init( materials->FindTexture( "_rt_SmallHDR0", TEXTURE_GROUP_RENDER_TARGET ) ); - Assert( !IsErrorTexture( s_pSmallBufferHDR0 ) ); - AddReleaseFunc(); - } - - return s_pSmallBufferHDR0; -} - -//============================================================================= -// Small Buffer HDR1 -//============================================================================= -static CTextureReference s_pSmallBufferHDR1; -ITexture *GetSmallBufferHDR1( void ) -{ - if ( !s_pSmallBufferHDR1 ) - { - s_pSmallBufferHDR1.Init( materials->FindTexture( "_rt_SmallHDR1", TEXTURE_GROUP_RENDER_TARGET ) ); - Assert( !IsErrorTexture( s_pSmallBufferHDR1 ) ); - AddReleaseFunc(); - } - - return s_pSmallBufferHDR1; -} - -//============================================================================= -// Quarter Sized FB0 -//============================================================================= -static CTextureReference s_pQuarterSizedFB0; -ITexture *GetSmallBuffer0( void ) -{ - if ( !s_pQuarterSizedFB0 ) - { - s_pQuarterSizedFB0.Init( materials->FindTexture( "_rt_SmallFB0", TEXTURE_GROUP_RENDER_TARGET ) ); - Assert( !IsErrorTexture( s_pQuarterSizedFB0 ) ); - AddReleaseFunc(); - } - - return s_pQuarterSizedFB0; -} - -//============================================================================= -// Quarter Sized FB1 -//============================================================================= -static CTextureReference s_pQuarterSizedFB1; -ITexture *GetSmallBuffer1( void ) -{ - if ( !s_pQuarterSizedFB1 ) - { - s_pQuarterSizedFB1.Init( materials->FindTexture( "_rt_SmallFB1", TEXTURE_GROUP_RENDER_TARGET ) ); - Assert( !IsErrorTexture( s_pQuarterSizedFB1 ) ); - AddReleaseFunc(); - } - - return s_pQuarterSizedFB1; -} - -//============================================================================= -// Teeny Textures -//============================================================================= -static CTextureReference s_TeenyTextures[MAX_TEENY_TEXTURES]; -ITexture *GetTeenyTexture( int which ) -{ - if ( IsX360() ) - { - Assert( 0 ); - return NULL; - } - - Assert( which < MAX_TEENY_TEXTURES ); - - if ( !s_TeenyTextures[which] ) - { - char nbuf[20]; - sprintf( nbuf, "_rt_TeenyFB%d", which ); - s_TeenyTextures[which].Init( materials->FindTexture( nbuf, TEXTURE_GROUP_RENDER_TARGET ) ); - Assert( !IsErrorTexture( s_TeenyTextures[which] ) ); - AddReleaseFunc(); - } - return s_TeenyTextures[which]; -} - -void ReleaseRenderTargets( void ) -{ - s_pPowerOfTwoFrameBufferTexture.Shutdown(); - s_pCameraTexture.Shutdown(); - s_pWaterReflectionTexture.Shutdown(); - s_pWaterRefractionTexture.Shutdown(); - s_pQuarterSizedFB0.Shutdown(); - s_pQuarterSizedFB1.Shutdown(); - s_pFullFrameDepthTexture.Shutdown(); - - for (int i=0; iAddReleaseFunc( ReleaseRenderTargets ); + } +} + +//============================================================================= +// Power of Two Frame Buffer Texture +//============================================================================= +static CTextureReference s_pPowerOfTwoFrameBufferTexture; +ITexture *GetPowerOfTwoFrameBufferTexture( void ) +{ + if ( IsX360() ) + { + return GetFullFrameFrameBufferTexture( 1 ); + } + + if ( !s_pPowerOfTwoFrameBufferTexture ) + { + s_pPowerOfTwoFrameBufferTexture.Init( materials->FindTexture( "_rt_PowerOfTwoFB", TEXTURE_GROUP_RENDER_TARGET ) ); + Assert( !IsErrorTexture( s_pPowerOfTwoFrameBufferTexture ) ); + AddReleaseFunc(); + } + + return s_pPowerOfTwoFrameBufferTexture; +} + +//============================================================================= +// Fullscreen Texture +//============================================================================= +static CTextureReference s_pFullscreenTexture; +ITexture *GetFullscreenTexture( void ) +{ + if ( !s_pFullscreenTexture ) + { + s_pFullscreenTexture.Init( materials->FindTexture( "_rt_Fullscreen", TEXTURE_GROUP_RENDER_TARGET ) ); + Assert( !IsErrorTexture( s_pFullscreenTexture ) ); + AddReleaseFunc(); + } + + return s_pFullscreenTexture; +} + +//============================================================================= +// Camera Texture +//============================================================================= +static CTextureReference s_pCameraTexture; +ITexture *GetCameraTexture( void ) +{ + if ( !s_pCameraTexture ) + { + s_pCameraTexture.Init( materials->FindTexture( "_rt_Camera", TEXTURE_GROUP_RENDER_TARGET ) ); + Assert( !IsErrorTexture( s_pCameraTexture ) ); + AddReleaseFunc(); + } + + return s_pCameraTexture; +} + +//============================================================================= +// Full Frame Depth Texture +//============================================================================= +static CTextureReference s_pFullFrameDepthTexture; +ITexture *GetFullFrameDepthTexture( void ) +{ + if ( !s_pFullFrameDepthTexture ) + { + s_pFullFrameDepthTexture.Init( materials->FindTexture( "_rt_FullFrameDepth", TEXTURE_GROUP_RENDER_TARGET ) ); + Assert( !IsErrorTexture( s_pFullFrameDepthTexture ) ); + AddReleaseFunc(); + } + + return s_pFullFrameDepthTexture; +} + +//============================================================================= +// Full Frame Buffer Textures +//============================================================================= +static CTextureReference s_pFullFrameFrameBufferTexture[MAX_FB_TEXTURES]; +ITexture *GetFullFrameFrameBufferTexture( int textureIndex ) +{ + if ( !s_pFullFrameFrameBufferTexture[textureIndex] ) + { + char name[256]; + if( textureIndex != 0 ) + { + sprintf( name, "_rt_FullFrameFB%d", textureIndex ); + } + else + { + Q_strcpy( name, "_rt_FullFrameFB" ); + } + s_pFullFrameFrameBufferTexture[textureIndex].Init( materials->FindTexture( name, TEXTURE_GROUP_RENDER_TARGET ) ); + Assert( !IsErrorTexture( s_pFullFrameFrameBufferTexture[textureIndex] ) ); + AddReleaseFunc(); + } + + return s_pFullFrameFrameBufferTexture[textureIndex]; +} + + +//============================================================================= +// Water reflection +//============================================================================= +static CTextureReference s_pWaterReflectionTexture; +ITexture *GetWaterReflectionTexture( void ) +{ + if ( !s_pWaterReflectionTexture ) + { + s_pWaterReflectionTexture.Init( materials->FindTexture( "_rt_WaterReflection", TEXTURE_GROUP_RENDER_TARGET ) ); + Assert( !IsErrorTexture( s_pWaterReflectionTexture ) ); + AddReleaseFunc(); + } + + return s_pWaterReflectionTexture; +} + +//============================================================================= +// Water refraction +//============================================================================= +static CTextureReference s_pWaterRefractionTexture; +ITexture *GetWaterRefractionTexture( void ) +{ + if ( !s_pWaterRefractionTexture ) + { + s_pWaterRefractionTexture.Init( materials->FindTexture( "_rt_WaterRefraction", TEXTURE_GROUP_RENDER_TARGET ) ); + Assert( !IsErrorTexture( s_pWaterRefractionTexture ) ); + AddReleaseFunc(); + } + + return s_pWaterRefractionTexture; +} + +//============================================================================= +// Small Buffer HDR0 +//============================================================================= +static CTextureReference s_pSmallBufferHDR0; +ITexture *GetSmallBufferHDR0( void ) +{ + if ( !s_pSmallBufferHDR0 ) + { + s_pSmallBufferHDR0.Init( materials->FindTexture( "_rt_SmallHDR0", TEXTURE_GROUP_RENDER_TARGET ) ); + Assert( !IsErrorTexture( s_pSmallBufferHDR0 ) ); + AddReleaseFunc(); + } + + return s_pSmallBufferHDR0; +} + +//============================================================================= +// Small Buffer HDR1 +//============================================================================= +static CTextureReference s_pSmallBufferHDR1; +ITexture *GetSmallBufferHDR1( void ) +{ + if ( !s_pSmallBufferHDR1 ) + { + s_pSmallBufferHDR1.Init( materials->FindTexture( "_rt_SmallHDR1", TEXTURE_GROUP_RENDER_TARGET ) ); + Assert( !IsErrorTexture( s_pSmallBufferHDR1 ) ); + AddReleaseFunc(); + } + + return s_pSmallBufferHDR1; +} + +//============================================================================= +// Quarter Sized FB0 +//============================================================================= +static CTextureReference s_pQuarterSizedFB0; +ITexture *GetSmallBuffer0( void ) +{ + if ( !s_pQuarterSizedFB0 ) + { + s_pQuarterSizedFB0.Init( materials->FindTexture( "_rt_SmallFB0", TEXTURE_GROUP_RENDER_TARGET ) ); + Assert( !IsErrorTexture( s_pQuarterSizedFB0 ) ); + AddReleaseFunc(); + } + + return s_pQuarterSizedFB0; +} + +//============================================================================= +// Quarter Sized FB1 +//============================================================================= +static CTextureReference s_pQuarterSizedFB1; +ITexture *GetSmallBuffer1( void ) +{ + if ( !s_pQuarterSizedFB1 ) + { + s_pQuarterSizedFB1.Init( materials->FindTexture( "_rt_SmallFB1", TEXTURE_GROUP_RENDER_TARGET ) ); + Assert( !IsErrorTexture( s_pQuarterSizedFB1 ) ); + AddReleaseFunc(); + } + + return s_pQuarterSizedFB1; +} + +//============================================================================= +// Teeny Textures +//============================================================================= +static CTextureReference s_TeenyTextures[MAX_TEENY_TEXTURES]; +ITexture *GetTeenyTexture( int which ) +{ + if ( IsX360() ) + { + Assert( 0 ); + return NULL; + } + + Assert( which < MAX_TEENY_TEXTURES ); + + if ( !s_TeenyTextures[which] ) + { + char nbuf[20]; + sprintf( nbuf, "_rt_TeenyFB%d", which ); + s_TeenyTextures[which].Init( materials->FindTexture( nbuf, TEXTURE_GROUP_RENDER_TARGET ) ); + Assert( !IsErrorTexture( s_TeenyTextures[which] ) ); + AddReleaseFunc(); + } + return s_TeenyTextures[which]; +} + +void ReleaseRenderTargets( void ) +{ + s_pPowerOfTwoFrameBufferTexture.Shutdown(); + s_pCameraTexture.Shutdown(); + s_pWaterReflectionTexture.Shutdown(); + s_pWaterRefractionTexture.Shutdown(); + s_pQuarterSizedFB0.Shutdown(); + s_pQuarterSizedFB1.Shutdown(); + s_pFullFrameDepthTexture.Shutdown(); + + for (int i=0; i