Add Render Layers to Camera and Render View for masking objects during rendering

This commit is contained in:
Wojtek Figat
2021-02-19 17:26:41 +01:00
parent d866526dd8
commit 09be8994e9
13 changed files with 246 additions and 52 deletions

View File

@@ -37,6 +37,21 @@
#include "Engine/Engine/CommandLine.h"
#endif
bool LayersMask::HasLayer(const StringView& layerName) const
{
return HasLayer(Level::GetLayerIndex(layerName));
}
bool LayersMask::operator==(const LayersMask& other) const
{
return Mask == other.Mask;
}
bool LayersMask::operator!=(const LayersMask& other) const
{
return Mask != other.Mask;
}
enum class SceneEventType
{
OnSceneSaving = 0,
@@ -674,6 +689,20 @@ int32 Level::GetNonEmptyLayerNamesCount()
return result + 1;
}
int32 Level::GetLayerIndex(const StringView& layer)
{
int32 result = -1;
for (int32 i = 0; i < 32; i++)
{
if (Layers[i] == layer)
{
result = i;
break;
}
}
return result;
}
void Level::callActorEvent(ActorEventType eventType, Actor* a, Actor* b)
{
PROFILE_CPU();