source-engine/materialsystem/stdshaders/example_model_dx9_helper.h

47 lines
1.6 KiB
C
Raw Normal View History

2020-04-22 16:56:21 +00:00
//===================== Copyright (c) Valve Corporation. All Rights Reserved. ======================
//
// Example shader that can be applied to models
//
//==================================================================================================
#ifndef EXAMPLE_MODEL_DX9_HELPER_H
#define EXAMPLE_MODEL_DX9_HELPER_H
#include <string.h>
//-----------------------------------------------------------------------------
// Forward declarations
//-----------------------------------------------------------------------------
class CBaseVSShader;
class IMaterialVar;
class IShaderDynamicAPI;
class IShaderShadow;
//-----------------------------------------------------------------------------
// Init params/ init/ draw methods
//-----------------------------------------------------------------------------
struct ExampleModel_DX9_Vars_t
{
ExampleModel_DX9_Vars_t() { memset( this, 0xFF, sizeof(*this) ); }
int m_nBaseTexture;
int m_nBaseTextureFrame;
int m_nBaseTextureTransform;
int m_nAlphaTestReference;
int m_nFlashlightTexture;
int m_nFlashlightTextureFrame;
};
void InitParamsExampleModel_DX9( CBaseVSShader *pShader, IMaterialVar** params,
const char *pMaterialName, ExampleModel_DX9_Vars_t &info );
void InitExampleModel_DX9( CBaseVSShader *pShader, IMaterialVar** params,
ExampleModel_DX9_Vars_t &info );
void DrawExampleModel_DX9( CBaseVSShader *pShader, IMaterialVar** params, IShaderDynamicAPI *pShaderAPI,
IShaderShadow* pShaderShadow,
ExampleModel_DX9_Vars_t &info, VertexCompressionType_t vertexCompression,
CBasePerMaterialContextData **pContextDataPtr );
#endif // EXAMPLE_MODEL_DX9_HELPER_H