Optimized GameScreen.DrawMap
- Downscaled lightmap, since blurring will make this unnoticeable anyway (TODO: make this optional) - Render LOS in fewer passes by using a shader - Use light volume to calculate LOS - This also means we can use the override texture to render the diving suit obstruct effect - Don't render bunks and labels onto LOS background (TODO: add the option to render back into the LOS background, i.e. just use multiplicative blending as if it was the lightmap) - Prefer SpriteSortMode.Deferred over all others, prefer SamplerState.LinearClamp/PointClamp over all others - Remove shader blur in favor of geometry blur (TODO: improve on this further, right now it has a few artifacts) - Trim light volumes - Do some weird shit with the background particles (use DrawTiled instead of relying on SamplerState.LinearWrap, because that's faster somehow :/ ) - Pressing up/down in the console only returns a typed command now
This commit is contained in:
@@ -48,8 +48,9 @@ float4 main(float4 position : SV_Position, float4 color : COLOR0, float2 texCoor
|
||||
float4 main2(float4 position : SV_Position, float4 color : COLOR0, float2 texCoord : TEXCOORD0) : COLOR0
|
||||
{
|
||||
float4 losColor = tex2D(LosSampler, texCoord);
|
||||
float4 sample = tex2D(TextureSampler, texCoord);
|
||||
|
||||
float4 outColor = float4(losColor.x, losColor.y, losColor.z, color.w);
|
||||
float4 outColor = float4(sample.x, sample.y, sample.z, losColor.x);
|
||||
|
||||
return outColor;
|
||||
}
|
||||
@@ -69,4 +70,4 @@ technique LosShader
|
||||
{
|
||||
PixelShader = compile ps_4_0_level_9_1 main2();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Regular → Executable
BIN
Binary file not shown.
Reference in New Issue
Block a user