Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

847 lines
24 KiB

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================
#include "pch_materialsystem.h"
#include "cmatnullrendercontext.h"
#define MATSYS_INTERNAL
#include "cmatrendercontext.h"
#include "itextureinternal.h"
class CMatNullRenderContext : public CMatRenderContextBase
{
public:
CMatNullRenderContext()
: m_WidthBackBuffer( 0 ),
m_HeightBackBuffer( 0 )
{
}
virtual void InitializeFrom( CMatRenderContextBase *pInitialState )
{
CMatRenderContextBase::InitializeFrom( pInitialState );
g_pShaderAPI->GetBackBufferDimensions( m_WidthBackBuffer, m_HeightBackBuffer );
}
void BeginRender()
{
}
void EndRender()
{
}
void Flush(bool)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void GetRenderTargetDimensions(int &,int &) const
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void DepthRange(float,float)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void ClearBuffers(bool,bool,bool)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void ReadPixels(int,int,int,int,unsigned char *,ImageFormat)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetAmbientLight(float,float,float)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetLight(int,const LightDesc_t &)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetLightingOrigin( Vector vLightingOrigin )
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetAmbientLightCube(Vector4D [])
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void CopyRenderTargetToTexture(ITexture *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetFrameBufferCopyTexture(ITexture *,int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
ITexture *GetFrameBufferCopyTexture(int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return NULL;
}
void GetViewport( int& x, int& y, int& width, int& height ) const
{
// Verify valid top of RT stack
Assert ( m_RenderTargetStack.Count() > 0 );
// Grab the top of stack
const RenderTargetStackElement_t& element = m_RenderTargetStack.Top();
// If either dimension is negative, set to full bounds of current target
if ( (element.m_nViewW < 0) || (element.m_nViewH < 0) )
{
// Viewport origin at target origin
x = y = 0;
// If target is back buffer
if ( element.m_pRenderTargets[0] == NULL )
{
width = m_WidthBackBuffer;
height = m_HeightBackBuffer;
}
else // if target is texture
{
width = element.m_pRenderTargets[0]->GetActualWidth();
height = element.m_pRenderTargets[0]->GetActualHeight();
}
}
else // use the bounds from the stack directly
{
x = element.m_nViewX;
y = element.m_nViewY;
width = element.m_nViewW;
height = element.m_nViewH;
}
}
void CullMode(MaterialCullMode_t)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void FogMode(MaterialFogMode_t)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void FogStart(float)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void FogEnd(float)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetFogZ(float)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
MaterialFogMode_t GetFogMode()
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return MATERIAL_FOG_NONE;
}
int GetCurrentNumBones( ) const
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return 0;
}
void FogColor3f(float,float,float)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void FogColor3fv(const float *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void FogColor3ub(unsigned char,unsigned char,unsigned char)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void FogColor3ubv(const unsigned char *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void GetFogColor(unsigned char *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetNumBoneWeights(int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
IMesh *CreateStaticMesh(VertexFormat_t,const char *,IMaterial *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return NULL;
}
void DestroyStaticMesh(IMesh *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
IMesh *GetDynamicMesh(bool,IMesh *,IMesh *,IMaterial *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return NULL;
}
virtual IMesh* GetDynamicMeshEx( VertexFormat_t, bool, IMesh*, IMesh*, IMaterial * )
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return NULL;
}
int SelectionMode(bool)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return 0;
}
void SelectionBuffer(unsigned int *,int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void ClearSelectionNames()
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void LoadSelectionName(int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void PushSelectionName(int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void PopSelectionName()
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void ClearColor3ub(unsigned char,unsigned char,unsigned char)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void ClearColor4ub(unsigned char,unsigned char,unsigned char,unsigned char)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void OverrideDepthEnable(bool,bool)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void OverrideColorWriteEnable( bool, bool )
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void OverrideAlphaWriteEnable( bool, bool )
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void DrawScreenSpaceQuad(IMaterial *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SyncToken(const char *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
OcclusionQueryObjectHandle_t CreateOcclusionQueryObject()
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return NULL;
}
void DestroyOcclusionQueryObject(OcclusionQueryObjectHandle_t)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void ResetOcclusionQueryObject( OcclusionQueryObjectHandle_t hOcclusionQuery )
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void BeginOcclusionQueryDrawing(OcclusionQueryObjectHandle_t)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void EndOcclusionQueryDrawing(OcclusionQueryObjectHandle_t)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
int OcclusionQuery_GetNumPixelsRendered(OcclusionQueryObjectHandle_t)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return 1;
}
void SetFlashlightMode(bool)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
virtual bool GetFlashlightMode( void ) const
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return false;
}
void SetFlashlightState(const FlashlightState_t &,const VMatrix &)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetScissorRect( const int nLeft, const int nTop, const int nRight, const int nBottom, const bool bEnableScissor )
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
virtual void PushDeformation( DeformationBase_t const *Deformation )
{
}
virtual void PopDeformation( )
{
}
virtual int GetNumActiveDeformations() const
{
return 0;
}
void EnableUserClipTransformOverride(bool)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void UserClipTransform(const VMatrix &)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
IMorph *CreateMorph(MorphFormat_t, const char *pDebugName)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return NULL;
}
void DestroyMorph(IMorph *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void BindMorph(IMorph *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetMorphTargetFactors(int,float *,int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void ReadPixelsAndStretch(Rect_t *,Rect_t *,unsigned char *,ImageFormat,int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void GetWindowSize(int &,int &) const
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void DrawScreenSpaceRectangle(IMaterial *,int,int,int,int,float,float,float,float,int,int,void*,int,int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void LoadBoneMatrix(int,const matrix3x4_t &)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void BindLightmapTexture(ITexture *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void CopyRenderTargetToTextureEx(ITexture *,int,Rect_t *,Rect_t *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void CopyTextureToRenderTargetEx(int,ITexture *,Rect_t *,Rect_t *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetFloatRenderingParameter(int,float)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetIntRenderingParameter(int,int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetVectorRenderingParameter(int,const Vector &)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetStencilEnable(bool)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetStencilFailOperation(StencilOperation_t)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetStencilZFailOperation(StencilOperation_t)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetStencilPassOperation(StencilOperation_t)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetStencilCompareFunction(StencilComparisonFunction_t)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetStencilReferenceValue(int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetStencilTestMask(uint32)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetStencilWriteMask(uint32)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void ClearStencilBufferRectangle(int,int,int,int,int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void PushCustomClipPlane(const float *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void PopCustomClipPlane()
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void GetMaxToRender(IMesh *,bool,int *,int *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
int GetMaxVerticesToRender(IMaterial *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return 0;
}
int GetMaxIndicesToRender()
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return 0;
}
void DisableAllLocalLights()
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
int CompareMaterialCombos(IMaterial *,IMaterial *,int,int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return 0;
}
IMesh *GetFlexMesh()
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return NULL;
}
void SetFlashlightStateEx(const FlashlightState_t &,const VMatrix &,ITexture *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
ITexture *GetLocalCubemap()
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return NULL;
}
void ClearBuffersObeyStencil(bool,bool)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void ClearBuffersObeyStencilEx( bool bClearColor, bool bClearAlpha, bool bClearDepth )
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void PerformFullScreenStencilOperation( void )
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
bool GetUserClipTransform(VMatrix &)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return true;
}
void GetFogDistances(float *,float *,float *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void BeginPIXEvent(unsigned long,const char *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void EndPIXEvent()
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetPIXMarker(unsigned long,const char *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void BeginBatch(IMesh *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void BindBatch(IMesh *,IMaterial *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void DrawBatch(int,int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void EndBatch()
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void SetToneMappingScaleLinear(const Vector &)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
float GetFloatRenderingParameter(int) const
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return 0;
}
int GetIntRenderingParameter(int) const
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return 0;
}
Vector GetVectorRenderingParameter(int) const
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return Vector(0,0,0);
}
void SwapBuffers()
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void ForceDepthFuncEquals(bool)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
bool InFlashlightMode() const
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return true;
}
void BindStandardTexture(TextureStage_t,StandardTextureId_t)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void GetLightmapDimensions(int *,int *)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
MorphFormat_t GetBoundMorphFormat()
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return 0;
}
void DrawClearBufferQuad(unsigned char,unsigned char,unsigned char,unsigned char,bool,bool,bool)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
bool OnDrawMesh(IMesh *,CPrimList *,int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return true;
}
bool OnDrawMesh(IMesh *,int,int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return true;
}
bool OnSetFlexMesh(IMesh *,IMesh *,int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return true;
}
bool OnSetColorMesh(IMesh *,IMesh *,int)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return true;
}
bool OnSetPrimitiveType(IMesh *,MaterialPrimitiveType_t)
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return true;
}
bool OnFlushBufferedPrimitives()
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
return true;
}
void ForceHardwareSync()
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void BeginFrame()
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void EndFrame()
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void AsyncCreateTextureFromRenderTarget( ITexture* pSrcRt, const char* pDstName, ImageFormat dstFmt, bool bGenMips, int nAdditionalCreationFlags, IAsyncTextureOperationReceiver* pRecipient, void* pExtraArgs ) OVERRIDE
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
virtual void AsyncMap( ITextureInternal* pTexToMap, IAsyncTextureOperationReceiver* pRecipient, void* pExtraArgs ) OVERRIDE
{
}
virtual void AsyncUnmap( ITextureInternal* pTexToUnmap ) OVERRIDE
{
}
virtual void AsyncCopyRenderTargetToStagingTexture( ITexture* pDst, ITexture* pSrc, IAsyncTextureOperationReceiver* pRecipient, void* pExtraArgs ) OVERRIDE
{
}
void SetShadowDepthBiasFactors( float fSlopeScaleDepthBias, float fDepthBias )
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
void BindStandardTexture( Sampler_t, StandardTextureId_t )
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
// ------------ New Vertex/Index Buffer interface ----------------------------
// Do we need support for bForceTempMesh and bSoftwareVertexShader?
// I don't think we use bSoftwareVertexShader anymore. .need to look into bForceTempMesh.
IVertexBuffer *CreateStaticVertexBuffer( VertexFormat_t fmt, int nVertexCount, const char *pBudgetGroup )
{
Assert( 0 );
return NULL;
}
IIndexBuffer *CreateStaticIndexBuffer( MaterialIndexFormat_t fmt, int nIndexCount, const char *pBudgetGroup )
{
Assert( 0 );
return NULL;
}
void DestroyVertexBuffer( IVertexBuffer * )
{
Assert( 0 );
}
void DestroyIndexBuffer( IIndexBuffer * )
{
Assert( 0 );
}
// Do we need to specify the stream here in the case of locking multiple dynamic VBs on different streams?
IVertexBuffer *GetDynamicVertexBuffer( int streamID, VertexFormat_t vertexFormat, bool bBufferedtrue )
{
Assert( 0 );
return NULL;
}
IIndexBuffer *GetDynamicIndexBuffer( MaterialIndexFormat_t fmt, bool bBufferedtrue )
{
Assert( 0 );
return NULL;
}
void BindVertexBuffer( int streamID, IVertexBuffer *pVertexBuffer, int nOffsetInBytes, int nFirstVertex, int nVertexCount, VertexFormat_t fmt, int nRepetitions1 )
{
Assert( 0 );
}
void BindIndexBuffer( IIndexBuffer *pIndexBuffer, int nOffsetInBytes )
{
Assert( 0 );
}
void Draw( MaterialPrimitiveType_t primitiveType, int firstIndex, int numIndices )
{
Assert( 0 );
}
virtual void BeginMorphAccumulation()
{
Assert( 0 );
}
virtual void EndMorphAccumulation()
{
Assert( 0 );
}
virtual void AccumulateMorph( IMorph* pMorph, int nMorphCount, const MorphWeight_t* pWeights )
{
Assert( 0 );
}
virtual bool GetMorphAccumulatorTexCoord( Vector2D *pTexCoord, IMorph *pMorph, int nVertex )
{
Assert(0);
pTexCoord->Init();
return false;
}
virtual void SetFlexWeights( int nFirstWeight, int nCount, const MorphWeight_t* pWeights ) {}
virtual void FogMaxDensity( float flMaxDensity )
{
AssertMsg( 0, "CMatNullRenderContext only provides base features, not a stub (right now)" );
}
virtual void EnableColorCorrection( bool bEnable ) {}
virtual ColorCorrectionHandle_t AddLookup( const char *pName ) { return 0; }
virtual bool RemoveLookup( ColorCorrectionHandle_t handle ) { return true; }
virtual void LockLookup( ColorCorrectionHandle_t handle ) {}
virtual void LoadLookup( ColorCorrectionHandle_t handle, const char *pLookupName ) {}
virtual void UnlockLookup( ColorCorrectionHandle_t handle ) {}
virtual void SetLookupWeight( ColorCorrectionHandle_t handle, float flWeight ) {}
virtual void ResetLookupWeights( ) {}
virtual void SetResetable( ColorCorrectionHandle_t handle, bool bResetable ) {}
virtual void SetFullScreenDepthTextureValidityFlag( bool bIsValid ) {}
virtual void SetNonInteractivePacifierTexture( ITexture *pTexture, float flNormalizedX, float flNormalizedY, float flNormalizedSize ) {}
virtual void SetNonInteractiveTempFullscreenBuffer( ITexture *pTexture, MaterialNonInteractiveMode_t mode ) {}
virtual void EnableNonInteractiveMode( MaterialNonInteractiveMode_t mode ) {}
virtual void RefreshFrontBufferNonInteractive() {}
#if defined( _X360 )
virtual void PushVertexShaderGPRAllocation( int iVertexShaderCount = 64 )
{
Assert( 0 );
}
virtual void PopVertexShaderGPRAllocation( void )
{
Assert( 0 );
}
#endif
#ifdef DX_TO_GL_ABSTRACTION
void DoStartupShaderPreloading( void ) {};
#endif
void TextureManagerUpdate( void ) { }
int m_WidthBackBuffer, m_HeightBackBuffer;
};
CMatRenderContextBase *CreateNullRenderContext()
{
return new CMatNullRenderContext;
}