Files
UnrealEngineUWP/Engine/Shaders/Private/LightmapData.ush
marcus wassmer b259f65406 Copying //UE4/Dev-Rendering[at]4854522 to Dev-Main (//UE4/Dev-Main)
#rb none

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: marcus.wassmer
#ROBOMERGE-SOURCE: CL 4854553 in //UE4/Main/...
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 4854570 by marcus wassmer in Dev-VR branch]
2019-01-30 21:24:04 -05:00

50 lines
1.6 KiB
Plaintext

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
/**
* LightmapData.ush
*/
#pragma once
#if VF_USE_PRIMITIVE_SCENE_DATA
// Must match FPrecomputedLightingUniformParameters in C++
struct FLightmapSceneData
{
float4 StaticShadowMapMasks;
float4 InvUniformPenumbraSizes;
float4 LightMapCoordinateScaleBias;
float4 ShadowMapCoordinateScaleBias;
float4 LightMapScale[2];
float4 LightMapAdd[2];
};
// Stride of a single lightmap data entry in float4's, must match C++
#define LIGHTMAP_SCENE_DATA_STRIDE 8
// Fetch from scene lightmap data buffer
FLightmapSceneData GetLightmapData(uint LightmapDataIndex)
{
// Note: layout must match FLightmapSceneShaderData in C++
// Relying on optimizer to remove unused loads
FLightmapSceneData LightmapData;
uint LightmapDataBaseOffset = LightmapDataIndex * LIGHTMAP_SCENE_DATA_STRIDE;
LightmapData.StaticShadowMapMasks = View.LightmapSceneData[LightmapDataBaseOffset + 0];
LightmapData.InvUniformPenumbraSizes = View.LightmapSceneData[LightmapDataBaseOffset + 1];
LightmapData.LightMapCoordinateScaleBias = View.LightmapSceneData[LightmapDataBaseOffset + 2];
LightmapData.ShadowMapCoordinateScaleBias = View.LightmapSceneData[LightmapDataBaseOffset + 3];
LightmapData.LightMapScale[0] = View.LightmapSceneData[LightmapDataBaseOffset + 4];
LightmapData.LightMapScale[1] = View.LightmapSceneData[LightmapDataBaseOffset + 5];
LightmapData.LightMapAdd[0] = View.LightmapSceneData[LightmapDataBaseOffset + 6];
LightmapData.LightMapAdd[1] = View.LightmapSceneData[LightmapDataBaseOffset + 7];
return LightmapData;
}
#else
// Route to uniform buffer
#define GetLightmapData(x) PrecomputedLightingBuffer
#endif