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
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; |
|
}
|
|
|