Files
UnrealEngineUWP/Engine/Shaders/Private/BasePassVertexCommon.ush
Sebastien Hillaire baed13200f AtmosphericFog component removal from UE5.
Clean up atmospheric fog and have it instaciate a sky atmosphere by default instead
AtmosphericFog now inherits from SkyAtmosphere and looks vaguely similar. Serialisation is handled with a serialisation enum + ue5 version.
"ClassRedirects" could not be used because parameters are not compatible and also due to different serialisation on both component.

So instead Skyamtosphere now has a bool bIsAtmosphericFog (false by default).
AtmosphericFog component now inheriting from Skyatmosphere is setting that to true so that serialisation can be properly handled for both cases : pure Skyatmosphere or SkyAtmosphere replacing a AtmosphericFog with loading/saving. This also supports StaticLightingGUID once converted, see USkyAtmosphereComponent::Serialize.

SkyAtmosphere aerial perspective is now properly gated behind the base pass vertex shader designed for that using BASEPASS_SKYATMOSPHERE_AERIALPERSPECTIVE.

Removed all AtmosphericFog related render code.
Renamed a bunch of shader permutation.

UActorFactoryAtmosphericFog is removed so that the actor is no longer visible and instanciable from menu (existing actors in levels are still created correctly)
UAtmosphericFogComponent is made notplaceable.

ShooterGame compiled and ran succesfuly.
Colton Daniels (QA) will upate reference screneshot in a later CL.

#rb Charles.derousiers, Marc.Audy, Kevin.Ortegren

[CL 16455741 by Sebastien Hillaire in ue5-main branch]
2021-05-25 16:33:27 -04:00

32 lines
1.1 KiB
Plaintext

// Copyright Epic Games, Inc. All Rights Reserved.
/*=============================================================================
BasePassVertexCommon.usf: Vertex-related base pass definitions, used by vertex,
hull and domain shader
=============================================================================*/
#include "Common.ush"
// Reroute SceneTexturesStruct uniform buffer references to the appropriate base pass uniform buffer
#if MATERIALBLENDING_TRANSLUCENT || MATERIALBLENDING_ADDITIVE || MATERIALBLENDING_MODULATE
#define SceneTexturesStruct TranslucentBasePass.SceneTextures
#endif
#include "/Engine/Generated/Material.ush"
#include "BasePassCommon.ush"
#include "/Engine/Generated/VertexFactory.ush"
#if NEEDS_BASEPASS_VERTEX_FOGGING
#include "HeightFogCommon.ush"
#endif
struct FBasePassVSToPS
{
FVertexFactoryInterpolantsVSToPS FactoryInterpolants;
FBasePassInterpolantsVSToPS BasePassInterpolants;
float4 Position : SV_POSITION;
};
#define FBasePassVSOutput FBasePassVSToPS
#define VertexFactoryGetInterpolants VertexFactoryGetInterpolantsVSToPS