// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. /*============================================================================= BasePassVertexCommon.usf: Vertex-related base pass definitions, used by vertex, hull and domain shader =============================================================================*/ #include "Common.usf" #include "Material.usf" #include "BasePassCommon.usf" #include "VertexFactory.usf" #if NEEDS_BASEPASS_VERTEX_FOGGING #include "HeightFogCommon.usf" #if BASEPASS_ATMOSPHERIC_FOG #include "AtmosphereCommon.usf" #endif #endif struct FBasePassVSToPS { FVertexFactoryInterpolantsVSToPS FactoryInterpolants; FBasePassInterpolantsVSToPS BasePassInterpolants; float4 Position : SV_POSITION; }; #if USING_TESSELLATION struct FBasePassVSToDS { FVertexFactoryInterpolantsVSToDS FactoryInterpolants; FBasePassInterpolantsVSToDS BasePassInterpolants; float4 Position : VS_To_DS_Position; OPTIONAL_VertexID_VS_To_DS }; #define FBasePassVSOutput FBasePassVSToDS #define VertexFactoryGetInterpolants VertexFactoryGetInterpolantsVSToDS #define FPassSpecificVSToDS FBasePassVSToDS #define FPassSpecificVSToPS FBasePassVSToPS #else #define FBasePassVSOutput FBasePassVSToPS #define VertexFactoryGetInterpolants VertexFactoryGetInterpolantsVSToPS #endif