mirror of
https://github.com/TombEngine/TombEngine.git
synced 2025-04-28 15:57:59 +03:00
Fix tabulation
This commit is contained in:
parent
982eb38f15
commit
31b01122a6
4 changed files with 192 additions and 193 deletions
|
@ -15,10 +15,10 @@ Version 1.4
|
|||
- Wall spikes will shatter any shatter in its path.
|
||||
- Wall spikes can be stopped by normal antitrigger or with a volume.
|
||||
* Added hub system to preserve level state on level jumps.
|
||||
* Added Ember emitter nullmesh object.
|
||||
* Added Laserbeam object.
|
||||
* Added TR2 Dragon.
|
||||
* Added TR3 Winston (requires updated TEN Winston wad2).
|
||||
* Added ember emitter object.
|
||||
* Added laser beam object.
|
||||
* Added TR2 dragon.
|
||||
* Added TR3 Winston (requires updated TEN Winston .wad2).
|
||||
|
||||
Lua API changes:
|
||||
* Added resetHub flag to Flow.Level, which allows to reset hub data.
|
||||
|
|
|
@ -24,89 +24,89 @@
|
|||
|
||||
cbuffer BlendingBuffer : register(b12)
|
||||
{
|
||||
uint BlendMode;
|
||||
int AlphaTest;
|
||||
float AlphaThreshold;
|
||||
uint BlendMode;
|
||||
int AlphaTest;
|
||||
float AlphaThreshold;
|
||||
};
|
||||
|
||||
void DoAlphaTest(float4 inputColor)
|
||||
{
|
||||
if (AlphaTest == ALPHATEST_GREATER_THAN && inputColor.w < AlphaThreshold)
|
||||
{
|
||||
discard;
|
||||
}
|
||||
else if (AlphaTest == ALPHATEST_LESS_THAN && inputColor.w > AlphaThreshold)
|
||||
{
|
||||
discard;
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (AlphaTest == ALPHATEST_GREATER_THAN && inputColor.w < AlphaThreshold)
|
||||
{
|
||||
discard;
|
||||
}
|
||||
else if (AlphaTest == ALPHATEST_LESS_THAN && inputColor.w > AlphaThreshold)
|
||||
{
|
||||
discard;
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
float4 DoDistanceFogForPixel(float4 sourceColor, float4 fogColor, float value)
|
||||
{
|
||||
switch (BlendMode)
|
||||
{
|
||||
case BLENDMODE_ADDITIVE:
|
||||
case BLENDMODE_SCREEN:
|
||||
case BLENDMODE_LIGHTEN:
|
||||
fogColor.xyz *= Luma(sourceColor.xyz);
|
||||
break;
|
||||
switch (BlendMode)
|
||||
{
|
||||
case BLENDMODE_ADDITIVE:
|
||||
case BLENDMODE_SCREEN:
|
||||
case BLENDMODE_LIGHTEN:
|
||||
fogColor.xyz *= Luma(sourceColor.xyz);
|
||||
break;
|
||||
|
||||
case BLENDMODE_SUBTRACTIVE:
|
||||
case BLENDMODE_EXCLUDE:
|
||||
fogColor.xyz *= 1.0f - Luma(sourceColor.xyz);
|
||||
break;
|
||||
case BLENDMODE_SUBTRACTIVE:
|
||||
case BLENDMODE_EXCLUDE:
|
||||
fogColor.xyz *= 1.0f - Luma(sourceColor.xyz);
|
||||
break;
|
||||
|
||||
case BLENDMODE_ALPHABLEND:
|
||||
fogColor.w = sourceColor.w;
|
||||
break;
|
||||
case BLENDMODE_ALPHABLEND:
|
||||
fogColor.w = sourceColor.w;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (fogColor.w > sourceColor.w)
|
||||
fogColor.w = sourceColor.w;
|
||||
if (fogColor.w > sourceColor.w)
|
||||
fogColor.w = sourceColor.w;
|
||||
|
||||
float4 result = lerp(sourceColor, fogColor, value);
|
||||
return result;
|
||||
float4 result = lerp(sourceColor, fogColor, value);
|
||||
return result;
|
||||
}
|
||||
|
||||
float4 DoFogBulbsForPixel(float4 sourceColor, float4 fogColor)
|
||||
{
|
||||
switch (BlendMode)
|
||||
{
|
||||
case BLENDMODE_ADDITIVE:
|
||||
case BLENDMODE_SCREEN:
|
||||
case BLENDMODE_LIGHTEN:
|
||||
fogColor.xyz *= Luma(sourceColor);
|
||||
break;
|
||||
switch (BlendMode)
|
||||
{
|
||||
case BLENDMODE_ADDITIVE:
|
||||
case BLENDMODE_SCREEN:
|
||||
case BLENDMODE_LIGHTEN:
|
||||
fogColor.xyz *= Luma(sourceColor);
|
||||
break;
|
||||
|
||||
case BLENDMODE_SUBTRACTIVE:
|
||||
case BLENDMODE_EXCLUDE:
|
||||
fogColor.xyz *= 1.0f - Luma(sourceColor.xyz);
|
||||
break;
|
||||
case BLENDMODE_SUBTRACTIVE:
|
||||
case BLENDMODE_EXCLUDE:
|
||||
fogColor.xyz *= 1.0f - Luma(sourceColor.xyz);
|
||||
break;
|
||||
|
||||
case BLENDMODE_ALPHABLEND:
|
||||
fogColor.w = sourceColor.w;
|
||||
break;
|
||||
case BLENDMODE_ALPHABLEND:
|
||||
fogColor.w = sourceColor.w;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (fogColor.w > sourceColor.w)
|
||||
fogColor.w = sourceColor.w;
|
||||
if (fogColor.w > sourceColor.w)
|
||||
fogColor.w = sourceColor.w;
|
||||
|
||||
float4 result = sourceColor;
|
||||
float4 result = sourceColor;
|
||||
|
||||
result.xyz += saturate(fogColor.xyz);
|
||||
result.xyz += saturate(fogColor.xyz);
|
||||
|
||||
return result;
|
||||
return result;
|
||||
}
|
||||
|
||||
#endif // BLENDINGSHADER
|
||||
|
|
|
@ -9,192 +9,192 @@
|
|||
|
||||
float4 DoLaserBarrierEffect(float3 input, float4 output, float2 uv, float faceFactor, float timeUniform)
|
||||
{
|
||||
float2 noiseTexture = input.xy / uv;
|
||||
noiseTexture *= uv.x / uv.y;
|
||||
float noiseValue = FractalNoise(noiseTexture * 8.0f - timeUniform);
|
||||
float2 noiseTexture = input.xy / uv;
|
||||
noiseTexture *= uv.x / uv.y;
|
||||
float noiseValue = FractalNoise(noiseTexture * 8.0f - timeUniform);
|
||||
|
||||
float4 color = output;
|
||||
float gradL = smoothstep(0.0, 1.0, uv.x);
|
||||
float gradR = smoothstep(1.0, 0.0, uv.x);
|
||||
float gradT = smoothstep(0.0, 0.25, uv.y);
|
||||
float gradB = 1.0 - smoothstep(0.75, 1.0, uv.y);
|
||||
float4 color = output;
|
||||
float gradL = smoothstep(0.0, 1.0, uv.x);
|
||||
float gradR = smoothstep(1.0, 0.0, uv.x);
|
||||
float gradT = smoothstep(0.0, 0.25, uv.y);
|
||||
float gradB = 1.0 - smoothstep(0.75, 1.0, uv.y);
|
||||
|
||||
float distortion = timeUniform / 1024;
|
||||
float distortion = timeUniform / 1024;
|
||||
|
||||
float3 noisix = SimplexNoise
|
||||
float3 noisix = SimplexNoise
|
||||
(
|
||||
SimplexNoise(float3(input.r * distortion, input.g, input.b))
|
||||
);
|
||||
float3 shadowx = SimplexNoise
|
||||
float3 shadowx = SimplexNoise
|
||||
(
|
||||
cos(SimplexNoise(sin(timeUniform + input.rgb * 400)))
|
||||
);
|
||||
|
||||
noisix.x = noisix.x > 0.9 ? 0.7 : noisix.x;
|
||||
noisix.y = noisix.y > 0.9 ? 0.7 : noisix.y;
|
||||
noisix.z = noisix.z > 0.9 ? 0.7 : noisix.z;
|
||||
color.rgb += noisix + 0.5f;
|
||||
color.rgb -= noisix + 0.2f;
|
||||
noisix.x = noisix.x > 0.9 ? 0.7 : noisix.x;
|
||||
noisix.y = noisix.y > 0.9 ? 0.7 : noisix.y;
|
||||
noisix.z = noisix.z > 0.9 ? 0.7 : noisix.z;
|
||||
color.rgb += noisix + 0.5f;
|
||||
color.rgb -= noisix + 0.2f;
|
||||
|
||||
float frequency = 0.1;
|
||||
float amplitude = 0.8;
|
||||
float persistence = 0.5;
|
||||
float noiseValue2 = 0;
|
||||
float noiseValue3 = 0;
|
||||
float frequency = 0.1;
|
||||
float amplitude = 0.8;
|
||||
float persistence = 0.5;
|
||||
float noiseValue2 = 0;
|
||||
float noiseValue3 = 0;
|
||||
|
||||
float2 uv84 = (uv * 2.4);
|
||||
uv84.y = (uv84.y - 1.3);
|
||||
uv84.x = (uv84.x / 1.3);
|
||||
float2 uv85 = (uv / 2.4);
|
||||
float2 uv84 = (uv * 2.4);
|
||||
uv84.y = (uv84.y - 1.3);
|
||||
uv84.x = (uv84.x / 1.3);
|
||||
float2 uv85 = (uv / 2.4);
|
||||
|
||||
noiseValue2 = AnimatedNebula(uv84, timeUniform * 0.1f);
|
||||
noiseValue2 = AnimatedNebula(uv84, timeUniform * 0.1f);
|
||||
|
||||
frequency = 2.5;
|
||||
amplitude = 0.2;
|
||||
persistence = 4.7;
|
||||
frequency = 2.5;
|
||||
amplitude = 0.2;
|
||||
persistence = 4.7;
|
||||
|
||||
float2 uv83 = uv * 8;
|
||||
uv83.y = (uv.y + (timeUniform * 0.02));
|
||||
noiseValue3 = NebularNoise(uv83, frequency, amplitude, persistence);
|
||||
float2 uv83 = uv * 8;
|
||||
uv83.y = (uv.y + (timeUniform * 0.02));
|
||||
noiseValue3 = NebularNoise(uv83, frequency, amplitude, persistence);
|
||||
|
||||
noiseValue2 += AnimatedNebula(uv / 2, timeUniform * 0.05f);
|
||||
noiseValue2 += AnimatedNebula(uv / 2, timeUniform * 0.05f);
|
||||
|
||||
color.rgb *= noiseValue2 + 0.6f;
|
||||
color.rgb += noiseValue3;
|
||||
color.a *= noiseValue + 0.01f;
|
||||
color.rgb *= noiseValue2 + 0.6f;
|
||||
color.rgb += noiseValue3;
|
||||
color.a *= noiseValue + 0.01f;
|
||||
|
||||
color.rgb -= shadowx + 0.1f;
|
||||
color.rgb -= shadowx + 0.1f;
|
||||
|
||||
color.a *= noiseValue2 + 0.9f;
|
||||
color.a *= noiseValue3 + 2.0f;
|
||||
color.a *= noiseValue2 + 0.9f;
|
||||
color.a *= noiseValue3 + 2.0f;
|
||||
|
||||
float fade0 = faceFactor * max(0.0, 1.0 - dot(float2(BLENDING, BLENDING), float2(gradL, gradT)));
|
||||
float fade1 = faceFactor * max(0.0, 1.0 - dot(float2(BLENDING, BLENDING), float2(gradL, gradB)));
|
||||
float fade2 = faceFactor * max(0.0, 1.0 - dot(float2(BLENDING, BLENDING), float2(gradR, gradB)));
|
||||
float fade3 = faceFactor * max(0.0, 1.0 - dot(float2(BLENDING, BLENDING), float2(gradR, gradT)));
|
||||
float fade0 = faceFactor * max(0.0, 1.0 - dot(float2(BLENDING, BLENDING), float2(gradL, gradT)));
|
||||
float fade1 = faceFactor * max(0.0, 1.0 - dot(float2(BLENDING, BLENDING), float2(gradL, gradB)));
|
||||
float fade2 = faceFactor * max(0.0, 1.0 - dot(float2(BLENDING, BLENDING), float2(gradR, gradB)));
|
||||
float fade3 = faceFactor * max(0.0, 1.0 - dot(float2(BLENDING, BLENDING), float2(gradR, gradT)));
|
||||
|
||||
float fadeL = 1.40f * faceFactor * faceFactor * (1.0 - gradL);
|
||||
float fadeB = 2.75f * faceFactor * faceFactor * (1.0 - gradB);
|
||||
float fadeR = 1.40f * faceFactor * faceFactor * (1.0 - gradR);
|
||||
float fadeT = 2.75f * faceFactor * faceFactor * (1.0 - gradT);
|
||||
float fadeL = 1.40f * faceFactor * faceFactor * (1.0 - gradL);
|
||||
float fadeB = 2.75f * faceFactor * faceFactor * (1.0 - gradB);
|
||||
float fadeR = 1.40f * faceFactor * faceFactor * (1.0 - gradR);
|
||||
float fadeT = 2.75f * faceFactor * faceFactor * (1.0 - gradT);
|
||||
|
||||
float fade = max(
|
||||
float fade = max(
|
||||
max(max(fade0, fade1), max(fade2, fade3)),
|
||||
max(max(fadeL, fadeR), max(fadeB, fadeT)));
|
||||
|
||||
float scale = 1.0 - fade;
|
||||
float scale = 1.0 - fade;
|
||||
|
||||
color *= scale;
|
||||
float decayFactor = 1.0f;
|
||||
if (uv.y > 0.5f && uv.y < 1.0f)
|
||||
{
|
||||
decayFactor = uv.y / 2;
|
||||
}
|
||||
if (uv.y < 0.5f && uv.y > 0.0f)
|
||||
{
|
||||
decayFactor = (1.0f - uv.y) / 2;
|
||||
}
|
||||
color *= decayFactor;
|
||||
color *= scale;
|
||||
float decayFactor = 1.0f;
|
||||
if (uv.y > 0.5f && uv.y < 1.0f)
|
||||
{
|
||||
decayFactor = uv.y / 2;
|
||||
}
|
||||
if (uv.y < 0.5f && uv.y > 0.0f)
|
||||
{
|
||||
decayFactor = (1.0f - uv.y) / 2;
|
||||
}
|
||||
color *= decayFactor;
|
||||
|
||||
color.rgb = smoothstep(ZERO, EIGHT_FIVE, color.rgb);
|
||||
return color;
|
||||
color.rgb = smoothstep(ZERO, EIGHT_FIVE, color.rgb);
|
||||
return color;
|
||||
}
|
||||
|
||||
float4 DoLaserBeamEffect(float3 input, float4 output, float2 uv, float faceFactor, float timeUniform)
|
||||
{
|
||||
float2 noiseTexture = input.xy / uv;
|
||||
noiseTexture *= uv.x / uv.y;
|
||||
float noiseValue = FractalNoise(noiseTexture * 0.1f + timeUniform);
|
||||
float2 noiseTexture = input.xy / uv;
|
||||
noiseTexture *= uv.x / uv.y;
|
||||
float noiseValue = FractalNoise(noiseTexture * 0.1f + timeUniform);
|
||||
|
||||
float4 color = output;
|
||||
float gradL = smoothstep(0.0, 0.0, uv.x);
|
||||
float gradR = smoothstep(0.0, 0.0, uv.x);
|
||||
float gradT = smoothstep(0.0, 0.25, uv.y);
|
||||
float gradB = 1.0 - smoothstep(0.75, 1.0, uv.y);
|
||||
float4 color = output;
|
||||
float gradL = smoothstep(0.0, 0.0, uv.x);
|
||||
float gradR = smoothstep(0.0, 0.0, uv.x);
|
||||
float gradT = smoothstep(0.0, 0.25, uv.y);
|
||||
float gradB = 1.0 - smoothstep(0.75, 1.0, uv.y);
|
||||
|
||||
// Stretching the UV coordinates
|
||||
float stretchFactor = 0.005f;
|
||||
uv.x *= stretchFactor;
|
||||
float stretchFactor = 0.005f;
|
||||
uv.x *= stretchFactor;
|
||||
|
||||
float distortion = timeUniform / 1024;
|
||||
float distortion = timeUniform / 1024;
|
||||
|
||||
float3 noisix = SimplexNoise
|
||||
float3 noisix = SimplexNoise
|
||||
(
|
||||
SimplexNoise(float3(input.r * distortion, input.g, input.b))
|
||||
);
|
||||
float3 shadowx = SimplexNoise
|
||||
float3 shadowx = SimplexNoise
|
||||
(
|
||||
cos(SimplexNoise(sin(timeUniform + input.rgb * 400)))
|
||||
);
|
||||
|
||||
noisix.x = noisix.x > 0.9 ? 0.7 : noisix.x;
|
||||
noisix.y = noisix.y > 0.9 ? 0.7 : noisix.y;
|
||||
noisix.z = noisix.z > 0.9 ? 0.7 : noisix.z;
|
||||
color.rgb += noisix + 0.5f;
|
||||
color.rgb -= noisix + 0.2f;
|
||||
noisix.x = noisix.x > 0.9 ? 0.7 : noisix.x;
|
||||
noisix.y = noisix.y > 0.9 ? 0.7 : noisix.y;
|
||||
noisix.z = noisix.z > 0.9 ? 0.7 : noisix.z;
|
||||
color.rgb += noisix + 0.5f;
|
||||
color.rgb -= noisix + 0.2f;
|
||||
|
||||
float frequency = 0.1;
|
||||
float amplitude = 0.8;
|
||||
float persistence = 0.5;
|
||||
float noiseValue2 = 0;
|
||||
float noiseValue3 = 0;
|
||||
float frequency = 0.1;
|
||||
float amplitude = 0.8;
|
||||
float persistence = 0.5;
|
||||
float noiseValue2 = 0;
|
||||
float noiseValue3 = 0;
|
||||
|
||||
float2 uv84 = (uv * 1.4);
|
||||
uv84.y = (uv84.y - 1.3);
|
||||
uv84.x = (uv84.x / 1.3);
|
||||
float2 uv85 = (uv / 1.4);
|
||||
float2 uv84 = (uv * 1.4);
|
||||
uv84.y = (uv84.y - 1.3);
|
||||
uv84.x = (uv84.x / 1.3);
|
||||
float2 uv85 = (uv / 1.4);
|
||||
|
||||
noiseValue2 = AnimatedNebula(uv84, timeUniform * 0.1f);
|
||||
noiseValue2 = AnimatedNebula(uv84, timeUniform * 0.1f);
|
||||
|
||||
frequency = 2.5;
|
||||
amplitude = 0.2;
|
||||
persistence = 4.7;
|
||||
frequency = 2.5;
|
||||
amplitude = 0.2;
|
||||
persistence = 4.7;
|
||||
|
||||
float2 uv83 = uv * 6;
|
||||
uv83.y = (uv.y + (timeUniform * 0.02));
|
||||
noiseValue3 = NebularNoise(uv83, frequency, amplitude, persistence);
|
||||
float2 uv83 = uv * 6;
|
||||
uv83.y = (uv.y + (timeUniform * 0.02));
|
||||
noiseValue3 = NebularNoise(uv83, frequency, amplitude, persistence);
|
||||
|
||||
noiseValue2 += AnimatedNebula(uv / 2, timeUniform * 0.05f);
|
||||
noiseValue2 += AnimatedNebula(uv / 2, timeUniform * 0.05f);
|
||||
|
||||
color.rgb *= noiseValue2 + 0.6f;
|
||||
color.rgb += noiseValue3;
|
||||
color.a *= noiseValue + 0.01f;
|
||||
color.rgb *= noiseValue2 + 0.6f;
|
||||
color.rgb += noiseValue3;
|
||||
color.a *= noiseValue + 0.01f;
|
||||
|
||||
color.rgb -= shadowx + 0.1f;
|
||||
color.rgb -= shadowx + 0.1f;
|
||||
|
||||
color.a *= noiseValue2 + 0.9f;
|
||||
color.a *= noiseValue3 + 2.0f;
|
||||
color.a *= noiseValue2 + 0.9f;
|
||||
color.a *= noiseValue3 + 2.0f;
|
||||
|
||||
float fade0 = faceFactor * max(0.0, 1.0 - dot(float2(BLENDING, BLENDING), float2(gradL, gradT)));
|
||||
float fade1 = faceFactor * max(0.0, 1.0 - dot(float2(BLENDING, BLENDING), float2(gradL, gradB)));
|
||||
float fade2 = faceFactor * max(0.0, 1.0 - dot(float2(BLENDING, BLENDING), float2(gradR, gradB)));
|
||||
float fade3 = faceFactor * max(0.0, 1.0 - dot(float2(BLENDING, BLENDING), float2(gradR, gradT)));
|
||||
float fade0 = faceFactor * max(0.0, 1.0 - dot(float2(BLENDING, BLENDING), float2(gradL, gradT)));
|
||||
float fade1 = faceFactor * max(0.0, 1.0 - dot(float2(BLENDING, BLENDING), float2(gradL, gradB)));
|
||||
float fade2 = faceFactor * max(0.0, 1.0 - dot(float2(BLENDING, BLENDING), float2(gradR, gradB)));
|
||||
float fade3 = faceFactor * max(0.0, 1.0 - dot(float2(BLENDING, BLENDING), float2(gradR, gradT)));
|
||||
|
||||
float fadeL = 0; //fade out hight
|
||||
float fadeB = 0.3f * faceFactor * faceFactor * (0.3 - gradB); //fade out width
|
||||
float fadeR = 0; //fade out hight
|
||||
float fadeT = 0.3f * faceFactor * faceFactor * (0.3 - gradT); //fade out width
|
||||
float fadeL = 0; // Fade out hight.
|
||||
float fadeB = 0.3f * faceFactor * faceFactor * (0.3 - gradB); //fade out width
|
||||
float fadeR = 0; // Fade out hight.
|
||||
float fadeT = 0.3f * faceFactor * faceFactor * (0.3 - gradT); //fade out width
|
||||
|
||||
float fade = max(
|
||||
float fade = max(
|
||||
max(max(fade0, fade1), max(fade2, fade3)),
|
||||
max(max(fadeL, fadeR), max(fadeB, fadeT)));
|
||||
|
||||
float scale = 1.0 - fade;
|
||||
float scale = 1.0 - fade;
|
||||
|
||||
color *= scale;
|
||||
float decayFactor = 1.0f;
|
||||
if (uv.y > 0.5f && uv.y < 1.0f)
|
||||
{
|
||||
decayFactor = uv.y / 2;
|
||||
}
|
||||
if (uv.y < 0.5f && uv.y > 0.0f)
|
||||
{
|
||||
decayFactor = (1.0f - uv.y) / 2;
|
||||
}
|
||||
color *= decayFactor;
|
||||
color.rgb *= 0.17; // Reduce brightness. Don't change
|
||||
color.rgb = smoothstep(ZERO, EIGHT_FIVE, color.rgb);
|
||||
return color;
|
||||
color *= scale;
|
||||
float decayFactor = 1.0f;
|
||||
if (uv.y > 0.5f && uv.y < 1.0f)
|
||||
{
|
||||
decayFactor = uv.y / 2;
|
||||
}
|
||||
if (uv.y < 0.5f && uv.y > 0.0f)
|
||||
{
|
||||
decayFactor = (1.0f - uv.y) / 2;
|
||||
}
|
||||
color *= decayFactor;
|
||||
color.rgb *= 0.17; // Reduce brightness. Don't change
|
||||
color.rgb = smoothstep(ZERO, EIGHT_FIVE, color.rgb);
|
||||
return color;
|
||||
}
|
||||
|
||||
#endif // SPRITEEFFECTSSHADER
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
#include "./CBCamera.hlsli"
|
||||
#include "./Blending.hlsli"
|
||||
#include "./VertexInput.hlsli"
|
||||
#include "./Math.hlsli"
|
||||
#include "./ShaderLight.hlsli"
|
||||
#include "./SpriteEffects.hlsli"
|
||||
#include "./ShaderLight.hlsli"
|
||||
#include "./VertexInput.hlsli"
|
||||
|
||||
// NOTE: This shader is used for all 3D and alpha blended sprites, because we send aleady transformed vertices to the GPU
|
||||
// instead of instances
|
||||
// NOTE: Shader is used for all 3D and alpha blended sprites because transformed vertices are already sent to GPU instead of instances.
|
||||
|
||||
#define FADE_FACTOR .789f
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue