Add View Layers button & Reset/Disable/Copy/Paste buttons to View Flags/Debug View & Camera RenderFlags/RenderView addition

This commit is contained in:
Wiktor Kocielski
2023-09-12 21:38:26 +03:00
parent 9bbdf16623
commit d389348260
5 changed files with 141 additions and 0 deletions

View File

@@ -415,6 +415,8 @@ void Camera::Serialize(SerializeStream& stream, const void* otherObj)
SERIALIZE_MEMBER(Far, _far);
SERIALIZE_MEMBER(OrthoScale, _orthoScale);
SERIALIZE(RenderLayersMask);
SERIALIZE(RenderFlags);
SERIALIZE(RenderView);
}
void Camera::Deserialize(DeserializeStream& stream, ISerializeModifier* modifier)
@@ -429,6 +431,8 @@ void Camera::Deserialize(DeserializeStream& stream, ISerializeModifier* modifier
DESERIALIZE_MEMBER(Far, _far);
DESERIALIZE_MEMBER(OrthoScale, _orthoScale);
DESERIALIZE(RenderLayersMask);
DESERIALIZE(RenderFlags);
DESERIALIZE(RenderView);
}
void Camera::OnEnable()

View File

@@ -7,6 +7,7 @@
#include "Engine/Core/Math/Viewport.h"
#include "Engine/Core/Math/Ray.h"
#include "Engine/Core/Types/LayersMask.h"
#include "Engine/Graphics/Enums.h"
#include "Engine/Scripting/ScriptingObjectReference.h"
#if USE_EDITOR
#include "Engine/Content/AssetReference.h"
@@ -134,6 +135,18 @@ public:
API_FIELD(Attributes="EditorOrder(100), EditorDisplay(\"Camera\")")
LayersMask RenderLayersMask;
/// <summary>
/// Frame rendering flags used to switch between graphics features for this camera.
/// </summary>
API_FIELD(Attributes = "EditorOrder(110), EditorDisplay(\"Camera\")")
ViewFlags RenderFlags = ViewFlags::DefaultGame;
/// <summary>
/// Describes frame rendering modes for this camera.
/// </summary>
API_FIELD(Attributes = "EditorOrder(120), EditorDisplay(\"Camera\")")
ViewMode RenderView = ViewMode::Default;
public:
/// <summary>
/// Projects the point from 3D world-space to game window coordinates (in screen pixels for default viewport calculated from <see cref="Viewport"/>).