74 lines
2.6 KiB
C++
74 lines
2.6 KiB
C++
//========= Copyright Valve Corporation, All rights reserved. ============//
|
|
|
|
#ifndef EYE_REFRACT_HELPER_H
|
|
#define EYE_REFRACT_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 Eye_Refract_Vars_t {
|
|
Eye_Refract_Vars_t() { memset(this, 0xFF, sizeof(Eye_Refract_Vars_t)); }
|
|
|
|
int m_nFrame;
|
|
int m_nIris;
|
|
int m_nIrisFrame;
|
|
int m_nEyeOrigin;
|
|
int m_nIrisU;
|
|
int m_nIrisV;
|
|
int m_nDilation;
|
|
int m_nGlossiness;
|
|
int m_nIntro;
|
|
int m_nEntityOrigin; // Needed for intro
|
|
int m_nWarpParam;
|
|
int m_nCorneaTexture;
|
|
int m_nAmbientOcclTexture;
|
|
int m_nEnvmap;
|
|
int m_nSphereTexKillCombo;
|
|
int m_nRaytraceSphere;
|
|
int m_nParallaxStrength;
|
|
int m_nCorneaBumpStrength;
|
|
int m_nAmbientOcclColor;
|
|
int m_nEyeballRadius;
|
|
int m_nDiffuseWarpTexture;
|
|
};
|
|
|
|
// Default values (Arrays should only be vec[4])
|
|
static const int kDefaultIntro = 0;
|
|
static const float kDefaultEyeOrigin[4] = {0.0f, 0.0f, 0.0f, 0.0f};
|
|
static const float kDefaultIrisU[4] = {0.0f, 0.0f, 0.0f, 0.0f};
|
|
static const float kDefaultIrisV[4] = {0.0f, 0.0f, 0.0f, 0.0f};
|
|
static const float kDefaultDilation = 0.5f;
|
|
static const float kDefaultGlossiness = 1.0f;
|
|
static const float kDefaultWarpParam = 0.0f;
|
|
static const int kDefaultSphereTexKillCombo = 0;
|
|
static const int kDefaultRaytraceSphere = 0;
|
|
static const float kDefaultParallaxStrength = 0.25f;
|
|
static const float kDefaultCorneaBumpStrength = 1.0f;
|
|
static const float kDefaultAmbientOcclColor[4] = {0.33f, 0.33f, 0.33f, 0.0f};
|
|
static const float kDefaultEyeballRadius = 0.5f;
|
|
|
|
void InitParams_Eyes_Refract(CBaseVSShader *pShader, IMaterialVar **params,
|
|
const char *pMaterialName,
|
|
Eye_Refract_Vars_t &info);
|
|
void Init_Eyes_Refract(CBaseVSShader *pShader, IMaterialVar **params,
|
|
Eye_Refract_Vars_t &info);
|
|
void Draw_Eyes_Refract(CBaseVSShader *pShader, IMaterialVar **params,
|
|
IShaderDynamicAPI *pShaderAPI,
|
|
IShaderShadow *pShaderShadow, Eye_Refract_Vars_t &info,
|
|
VertexCompressionType_t vertexCompression);
|
|
|
|
#endif // EYES_DX8_DX9_HELPER_H
|