diff options
Diffstat (limited to 'sp/src/materialsystem/stdshaders/volume_clouds_helper.h')
| -rw-r--r-- | sp/src/materialsystem/stdshaders/volume_clouds_helper.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/sp/src/materialsystem/stdshaders/volume_clouds_helper.h b/sp/src/materialsystem/stdshaders/volume_clouds_helper.h new file mode 100644 index 00000000..abbb63b7 --- /dev/null +++ b/sp/src/materialsystem/stdshaders/volume_clouds_helper.h @@ -0,0 +1,41 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// + +#ifndef VOLUME_CLOUDS_HELPER_H +#define VOLUME_CLOUDS_HELPER_H +#ifdef _WIN32 +#pragma once +#endif + +#include <string.h> + +//----------------------------------------------------------------------------- +// Forward declarations +//----------------------------------------------------------------------------- +class CBaseVSShader; +class IMaterialVar; +class IShaderDynamicAPI; +class IShaderShadow; + +//----------------------------------------------------------------------------- +// Init params/ init/ draw methods +//----------------------------------------------------------------------------- +struct VolumeCloudsVars_t +{ + VolumeCloudsVars_t() { memset( this, 0xFF, sizeof( VolumeCloudsVars_t ) ); } + + int m_nRefractAmount; + int m_nTexture1; + int m_nTexture2; + int m_nTexture3; + int m_nTime; +}; + +// Default values (Arrays should only be vec[4]) +static const float kDefaultRefractAmount = 0.1f; + +void InitParamsVolumeClouds( CBaseVSShader *pShader, IMaterialVar** params, const char *pMaterialName, VolumeCloudsVars_t &info ); +void InitVolumeClouds( CBaseVSShader *pShader, IMaterialVar** params, VolumeCloudsVars_t &info ); +void DrawVolumeClouds( CBaseVSShader *pShader, IMaterialVar** params, IShaderDynamicAPI *pShaderAPI, + IShaderShadow* pShaderShadow, VolumeCloudsVars_t &info, VertexCompressionType_t vertexCompression ); + +#endif // VolumeClouds_HELPER_H |