Add default shader include for iw4 with code constants

This commit is contained in:
Jan 2022-09-17 23:09:23 +02:00
parent 08278c451a
commit ee2a5b57f4
3 changed files with 135 additions and 4 deletions

View File

@ -0,0 +1,132 @@
// =============================
// IW4 code constants
// =============================
extern float4 baseLightingCoords;
extern float4 lightprobeAmbient;
extern float4 fullscreenDistortion;
extern float4 fadeEffect;
extern float4 lightingLookupScale;
extern float4 debugBumpmap;
extern float4 pixelCostFracs;
extern float4 pixelCostDecode;
extern float4 materialColor;
extern float4 fogConsts;
extern float4 fogColorLinear;
extern float4 fogColorGamma;
extern float4 fogSunConsts;
extern float4 fogSunColorLinear;
extern float4 fogSunColorGamma;
extern float4 fogSunDir;
extern float4 glowSetup;
extern float4 glowApply;
extern float4 filterTap[8];
extern float4 codeMeshArg[2];
extern float4 renderTargetSize;
extern float4 shadowmapSwitchPartition;
extern float4 shadowmapScale;
extern float4 shadowmapPolygonOffset;
extern float4 zNear;
extern float4 clipSpaceLookupScale;
extern float4 clipSpaceLookupOffset;
extern float4 dofEquationViewModelAndFarBlur;
extern float4 dofEquationScene;
extern float4 dofLerpScale;
extern float4 dofLerpBias;
extern float4 dofRowDelta;
extern float4 depthFromClip;
extern float4 outdoorFeatherParms;
extern float4 envMapParms;
extern float4 colorMatrixR;
extern float4 colorMatrixG;
extern float4 colorMatrixB;
extern float4 colorBias;
extern float4 colorTintBase;
extern float4 colorTintDelta;
extern float4 colorTintQuadraticDelta;
extern float4 motionMatrixX;
extern float4 motionMatrixY;
extern float4 motionMatrixW;
extern float4 gameTime;
extern float4 particleCloudColor;
extern float4 particleCloudMatrix;
extern float4 particleCloudMatrix1;
extern float4 particleCloudMatrix2;
extern float4 particleCloudSparkColor0;
extern float4 particleCloudSparkColor1;
extern float4 particleCloudSparkColor2;
extern float4 particleFountainParms0;
extern float4 particleFountainParms1;
extern float4 viewportDimensions;
extern float4 framebufferRead;
extern float4 nearPlaneOrg;
extern float4 nearPlaneDx;
extern float4 nearPlaneDy;
extern float4 lightPosition;
extern float4 lightDiffuse;
extern float4 lightSpecular;
extern float4 lightSpotDir;
extern float4 lightSpotFactors;
extern float4 lightFalloffPlacement;
extern float4 sunShadowmapPixelAdjust;
extern float4 spotShadowmapPixelAdjust;
extern float4x4 viewMatrix;
extern float4x4 inverseViewMatrix;
extern float4x4 transposeViewMatrix;
extern float4x4 inverseTransposeViewMatrix;
extern float4x4 projectionMatrix;
extern float4x4 inverseProjectionMatrix;
extern float4x4 transposeProjectionMatrix;
extern float4x4 inverseTransposeProjectionMatrix;
extern float4x4 viewProjectionMatrix;
extern float4x4 inverseViewProjectionMatrix;
extern float4x4 transposeViewProjectionMatrix;
extern float4x4 inverseTransposeViewProjectionMatrix;
extern float4x4 shadowLookupMatrix;
extern float4x4 inverseShadowLookupMatrix;
extern float4x4 transposeShadowLookupMatrix;
extern float4x4 inverseTransposeShadowLookupMatrix;
extern float4x4 worldOutdoorLookupMatrix;
extern float4x4 inverseWorldOutdoorLookupMatrix;
extern float4x4 transposeWorldOutdoorLookupMatrix;
extern float4x4 inverseTransposeWorldOutdoorLookupMatrix;
extern float4x4 worldMatrix;
extern float4x4 inverseWorldMatrix;
extern float4x4 transposeWorldMatrix;
extern float4x4 inverseTransposeWorldMatrix;
extern float4x4 worldViewMatrix;
extern float4x4 inverseWorldViewMatrix;
extern float4x4 transposeWorldViewMatrix;
extern float4x4 inverseTransposeWorldViewMatrix;
extern float4x4 worldViewProjectionMatrix;
extern float4x4 inverseWorldViewProjectionMatrix;
extern float4x4 transposeWorldViewProjectionMatrix;
extern float4x4 inverseTransposeWorldViewProjectionMatrix;
extern float4x4 worldMatrix1;
extern float4x4 inverseWorldMatrix1;
extern float4x4 transposeWorldMatrix1;
extern float4x4 inverseTransposeWorldMatrix1;
extern float4x4 worldViewMatrix1;
extern float4x4 inverseWorldViewMatrix1;
extern float4x4 transposeWorldViewMatrix1;
extern float4x4 inverseTransposeWorldViewMatrix1;
extern float4x4 worldViewProjectionMatrix1;
extern float4x4 inverseWorldViewProjectionMatrix1;
extern float4x4 transposeWorldViewProjectionMatrix1;
extern float4x4 inverseTransposeWorldViewProjectionMatrix1;
extern float4x4 worldMatrix2;
extern float4x4 inverseWorldMatrix2;
extern float4x4 transposeWorldMatrix2;
extern float4x4 inverseTransposeWorldMatrix2;
extern float4x4 worldViewMatrix2;
extern float4x4 inverseWorldViewMatrix2;
extern float4x4 transposeWorldViewMatrix2;
extern float4x4 inverseTransposeWorldViewMatrix2;
extern float4x4 worldViewProjectionMatrix2;
extern float4x4 inverseWorldViewProjectionMatrix2;
extern float4x4 transposeWorldViewProjectionMatrix2;
extern float4x4 inverseTransposeWorldViewProjectionMatrix2;

View File

@ -1,3 +1,5 @@
#include "include/IW4.hlsl"
struct VSInput
{
float3 position : POSITION;
@ -12,9 +14,6 @@ struct VSOutput
half2 texcoord : TEXCOORD0;
};
extern float4x4 viewProjectionMatrix;
extern float4x4 worldMatrix;
VSOutput VSMain(VSInput vin)
{
VSOutput vout = (VSOutput)0;

View File

@ -15,7 +15,7 @@ ShaderIncludeHandler::~ShaderIncludeHandler() = default;
HRESULT ShaderIncludeHandler::Open(D3D_INCLUDE_TYPE includeType, const LPCSTR pFileName, LPCVOID pParentData, LPCVOID* ppData, UINT* pBytes)
{
std::ostringstream ss;
ss << "shaders/" << pFileName;
ss << "shader/" << pFileName;
auto file = m_search_path->Open(ss.str());
if (!file.IsOpen() || file.m_length <= 0)