mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2026-04-21 10:58:44 +00:00
chore: add base hlsl for IW4
This commit is contained in:
132
raw/iw4/shader/include/IW4.hlsl
Normal file
132
raw/iw4/shader/include/IW4.hlsl
Normal 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;
|
||||
33
raw/iw4/shader/trivial_vertcol_simple.hlsl
Normal file
33
raw/iw4/shader/trivial_vertcol_simple.hlsl
Normal file
@@ -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;
|
||||
}
|
||||
@@ -30,11 +30,11 @@ namespace techset
|
||||
|
||||
const auto shaderSize = static_cast<size_t>(file.m_length);
|
||||
auto shaderData = std::make_unique<char[]>(shaderSize);
|
||||
file.m_stream->read(shaderData.get(), shaderSize);
|
||||
file.m_stream->read(shaderData.get(), static_cast<std::streamsize>(shaderSize));
|
||||
file.m_stream.reset();
|
||||
|
||||
*ppData = shaderData.get();
|
||||
*pBytes = shaderSize;
|
||||
*pBytes = static_cast<UINT>(shaderSize);
|
||||
|
||||
m_file_buffers_in_use.push_back(std::move(shaderData));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user