Direct3D11 common shader changes.

This commit is contained in:
rextimmy 2016-03-20 21:50:21 +10:00
parent 1ff6f221fb
commit 3a9b50f702
283 changed files with 3547 additions and 1834 deletions

View file

@ -23,39 +23,42 @@
//-----------------------------------------------------------------------------
// Structures
//-----------------------------------------------------------------------------
#include "shaderModel.hlsl"
struct VertData
{
float2 texCoord : TEXCOORD0;
float2 waveScale : TEXCOORD1;
float3 position : POSITION;
float3 normal : NORMAL;
float4 position : POSITION;
float2 texCoord : TEXCOORD0;
float2 waveScale : TEXCOORD1;
};
struct ConnectData
{
float4 hpos : POSITION;
float4 hpos : TORQUE_POSITION;
float2 outTexCoord : TEXCOORD0;
float4 color : COLOR0;
float4 groundAlphaCoeff : COLOR1;
float2 alphaLookup : TEXCOORD1;
};
uniform float4x4 projection : register(C0);
uniform float4x4 world : register(C4);
uniform float GlobalSwayPhase : register(C8);
uniform float SwayMagnitudeSide : register(C9);
uniform float SwayMagnitudeFront : register(C10);
uniform float GlobalLightPhase : register(C11);
uniform float LuminanceMagnitude : register(C12);
uniform float LuminanceMidpoint : register(C13);
uniform float DistanceRange : register(C14);
uniform float3 CameraPos : register(C15);
uniform float TrueBillboard : register(C16);
//-----------------------------------------------------------------------------
// Main
//-----------------------------------------------------------------------------
ConnectData main( VertData IN,
uniform float4x4 projection : register(C0),
uniform float4x4 world : register(C4),
uniform float GlobalSwayPhase : register(C8),
uniform float SwayMagnitudeSide : register(C9),
uniform float SwayMagnitudeFront : register(C10),
uniform float GlobalLightPhase : register(C11),
uniform float LuminanceMagnitude : register(C12),
uniform float LuminanceMidpoint : register(C13),
uniform float DistanceRange : register(C14),
uniform float3 CameraPos : register(C15),
uniform float TrueBillboard : register(C16)
)
ConnectData main( VertData IN )
{
ConnectData OUT;
@ -113,7 +116,7 @@ ConnectData main( VertData IN,
float Luminance = LuminanceMidpoint + LuminanceMagnitude * cos(GlobalLightPhase + IN.normal.y);
// Alpha
float3 worldPos = float3(IN.position.x, IN.position.y, IN.position.z);
float3 worldPos = IN.position;
float alpha = abs(distance(worldPos, CameraPos)) / DistanceRange;
alpha = clamp(alpha, 0.0f, 1.0f); //pass it through