Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 114 additions & 0 deletions raw/iw3/shader/include/IW3.hlsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
// =============================
// IW3 code constants
// =============================

extern float4 lightPosition;
extern float4 lightDiffuse;
extern float4 lightSpecular;
extern float4 lightSpotDir;
extern float4 lightSpotFactors;
extern float4 nearPlaneOrg;
extern float4 nearPlaneDx;
extern float4 nearPlaneDy;
extern float4 shadowParms;
extern float4 shadowmapPolygonOffset;
extern float4 renderTargetSize;
extern float4 lightFalloffPlacement;
extern float4 dofEquationViewModelAndFarBlur;
extern float4 dofEquationScene;
extern float4 dofLerpScale;
extern float4 dofLerpBias;
extern float4 dofRowDelta;
extern float4 particleCloudColor;
extern float4 gameTime;
extern float4 pixelCostFracs;
extern float4 pixelCostDecode;
extern float4 filterTap[8];
extern float4 colorMatrixR;
extern float4 colorMatrixG;
extern float4 colorMatrixB;
extern float4 shadowmapSwitchPartition;
extern float4 shadowmapScale;
extern float4 zNear;
extern float4 sunPosition;
extern float4 sunDiffuse;
extern float4 sunSpecular;
extern float4 lightingLookupScale;
extern float4 debugBumpmap;
extern float4 materialColor;
extern float4 fogConsts;
extern float4 fogColor;
extern float4 glowSetup;
extern float4 glowApply;
extern float4 colorBias;
extern float4 colorTintBase;
extern float4 colorTintDelta;
extern float4 outdoorFeatherParms;
extern float4 envMapParms;
extern float4 spotShadowmapPixelAdjust;
extern float4 clipSpaceLookupScale;
extern float4 clipSpaceLookupOffset;
extern float4 particleCloudMatrix;
extern float4 depthFromClip;
extern float4 codeMeshArg[2];
extern float4 baseLightingCoords;
extern float4x4 worldMatrix;
extern float4x4 inverseWorldMatrix;
extern float4x4 transposeWorldMatrix;
extern float4x4 inverseTransposeWorldMatrix;
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 worldViewMatrix;
extern float4x4 inverseWorldViewMatrix;
extern float4x4 transposeWorldViewMatrix;
extern float4x4 inverseTransposeWorldViewMatrix;
extern float4x4 viewProjectionMatrix;
extern float4x4 inverseViewProjectionMatrix;
extern float4x4 transposeViewProjectionMatrix;
extern float4x4 inverseTransposeViewProjectionMatrix;
extern float4x4 worldViewProjectionMatrix;
extern float4x4 inverseWorldViewProjectionMatrix;
extern float4x4 transposeWorldViewProjectionMatrix;
extern float4x4 inverseTransposeWorldViewProjectionMatrix;
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 sampler2D black;
extern sampler2D white;
extern sampler2D identityNormalMap;
extern sampler2D modelLightingSampler;
extern sampler2D lightmapSamplerPrimary;
extern sampler2D lightmapSamplerSecondary;
extern sampler2D shadowCookieSampler;
extern sampler2D shadowmapSamplerSun;
extern sampler2D shadowmapSamplerSpot;
extern sampler2D feedbackSampler;
extern sampler2D resolvedPostSun;
extern sampler2D resolvedScene;
extern sampler2D postEffect0;
extern sampler2D postEffect1;
extern sampler2D sky;
extern sampler2D attenuationSampler;
extern sampler2D dynamicShadowSampler;
extern sampler2D outdoor;
extern sampler2D floatZSampler;
extern sampler2D processedFloatZSampler;
extern sampler2D rawFloatZSampler;
extern sampler2D caseTexture;
extern sampler2D cinematicYSampler;
extern sampler2D cinematicCrSampler;
extern sampler2D cinematicCbSampler;
extern sampler2D cinematicASampler;
extern sampler2D reflectionProbeSampler;
156 changes: 156 additions & 0 deletions raw/iw4/shader/include/IW4.hlsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
// =============================
// IW4 code constants
// =============================

extern float4 lightPosition;
extern float4 lightDiffuse;
extern float4 lightSpecular;
extern float4 lightSpotDir;
extern float4 lightSpotFactors;
extern float4 lightFalloffPlacement;
extern float4 particleCloudColor;
extern float4 gameTime;
extern float4 pixelCostFracs;
extern float4 pixelCostDecode;
extern float4 filterTap[8];
extern float4 colorMatrixR;
extern float4 colorMatrixG;
extern float4 colorMatrixB;
extern float4 shadowmapPolygonOffset;
extern float4 renderTargetSize;
extern float4 dofEquationViewModelAndFarBlur;
extern float4 dofEquationScene;
extern float4 dofLerpScale;
extern float4 dofLerpBias;
extern float4 dofRowDelta;
extern float4 motionMatrixX;
extern float4 motionMatrixY;
extern float4 motionMatrixW;
extern float4 shadowmapSwitchPartition;
extern float4 shadowmapScale;
extern float4 zNear;
extern float4 lightingLookupScale;
extern float4 debugBumpmap;
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 colorBias;
extern float4 colorTintBase;
extern float4 colorTintDelta;
extern float4 colorTintQuadraticDelta;
extern float4 outdoorFeatherParms;
extern float4 envMapParms;
extern float4 sunShadowmapPixelAdjust;
extern float4 spotShadowmapPixelAdjust;
extern float4 fullscreenDistortion;
extern float4 fadeEffect;
extern float4 viewportDimensions;
extern float4 framebufferRead;
extern float4 baseLightingCoords;
extern float4 lightprobeAmbient;
extern float4 nearPlaneOrg;
extern float4 nearPlaneDx;
extern float4 nearPlaneDy;
extern float4 clipSpaceLookupScale;
extern float4 clipSpaceLookupOffset;
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 depthFromClip;
extern float4 codeMeshArg[2];
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;

extern sampler2D black;
extern sampler2D white;
extern sampler2D identityNormalMap;
extern sampler2D modelLightingSampler;
extern sampler2D lightmapSamplerPrimary;
extern sampler2D lightmapSamplerSecondary;
extern sampler2D shadowmapSamplerSun;
extern sampler2D shadowmapSamplerSpot;
extern sampler2D feedbackSampler;
extern sampler2D resolvedPostSun;
extern sampler2D resolvedScene;
extern sampler2D postEffect0;
extern sampler2D postEffect1;
extern sampler2D attenuationSampler;
extern sampler2D outdoor;
extern sampler2D floatZSampler;
extern sampler2D processedFloatZSampler;
extern sampler2D rawFloatZSampler;
extern sampler2D halfParticleColorSampler;
extern sampler2D halfParticleDepthSampler;
extern sampler2D caseTexture;
extern sampler2D cinematicYSampler;
extern sampler2D cinematicCrSampler;
extern sampler2D cinematicCbSampler;
extern sampler2D cinematicASampler;
extern sampler2D reflectionProbeSampler;
extern sampler2D alternateSceneSampler;
33 changes: 33 additions & 0 deletions raw/iw4/shader/trivial_vertcol_simple.hlsl
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#include "include/IW4.hlsl"

struct VSInput
{
float3 position : POSITION;
half4 color : COLOR0;
half2 texcoord : TEXCOORD0;
};

struct VSOutput
{
float4 position : SV_POSITION;
half4 color : COLOR0;
half2 texcoord : TEXCOORD0;
};

VSOutput VSMain(VSInput vin)
{
VSOutput vout = (VSOutput)0;

vout.position = mul(mul(float4(vin.position, 1.0f), worldMatrix), viewProjectionMatrix);
vout.color = vin.color;
vout.texcoord = vin.texcoord;

return vout;
}

extern sampler2D colorMapSampler;

half4 PSMain(VSOutput input) : SV_TARGET
{
return half4(tex2D(colorMapSampler, input.texcoord)) * input.color;
}
2 changes: 1 addition & 1 deletion raw/iw4/techniques/distortion_scale.tech.template
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@

vertexShader 3.0 VERTEX_SHADER
{
worldViewProjectionMatrix = constant.transposeWorldViewProjectionMatrix;
worldViewProjectionMatrix = constant.worldViewProjectionMatrix;
#ifdef UV_ANIM
uvAnimParms = material.uvAnimParms;
#endif
Expand Down
20 changes: 10 additions & 10 deletions raw/iw4/techniques/particle_cloud.tech.template
Original file line number Diff line number Diff line change
Expand Up @@ -48,17 +48,17 @@

vertexShader 3.0 VERTEX_SHADER
{
worldViewMatrix = constant.transposeWorldViewMatrix;
worldViewMatrix = constant.worldViewMatrix;
#if MODE == "spark"
worldViewMatrix1 = constant.transposeWorldViewMatrix1;
worldViewMatrix2 = constant.transposeWorldViewMatrix2;
worldViewMatrix1 = constant.worldViewMatrix1;
worldViewMatrix2 = constant.worldViewMatrix2;
#endif
#ifdef OUTDOOR
worldOutdoorLookupMatrix = constant.transposeWorldOutdoorLookupMatrix;
worldOutdoorLookupMatrix = constant.worldOutdoorLookupMatrix;
#endif
projectionMatrix = constant.transposeProjectionMatrix;
projectionMatrix = constant.projectionMatrix;
#ifdef SPOT
inverseViewMatrix = constant.inverseTransposeViewMatrix;
inverseViewMatrix = constant.inverseViewMatrix;
#endif
}

Expand All @@ -72,10 +72,10 @@
shadowmapSamplerSpot = sampler.shadowmapSpot;
#endif
#ifdef SPOT
lightSpotDir = constant.light.spotDir;
lightSpotFactors = constant.light.spotFactors;
lightPosition = constant.light.position;
lightDiffuse = constant.light.diffuse;
lightSpotDir = constant.lightSpotDir;
lightSpotFactors = constant.lightSpotFactors;
lightPosition = constant.lightPosition;
lightDiffuse = constant.lightDiffuse;
#endif
}

Expand Down
2 changes: 0 additions & 2 deletions raw/iw4/techniques/trivial_vertcol_simple2d.tech
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@

vertexShader 3.0 "trivial_vertcol_simple.hlsl"
{
worldMatrix = constant.transposeWorldMatrix;
viewProjectionMatrix = constant.transposeViewProjectionMatrix;
}

pixelShader 3.0 "trivial_vertcol_simple.hlsl"
Expand Down
Loading