35 lines
707 B
C++
35 lines
707 B
C++
#pragma once
|
|
|
|
#include <sophia/entity.hpp>
|
|
#include <sophia/handles.hpp>
|
|
#include <sophia/math.hpp>
|
|
#include <sophia/scene.hpp>
|
|
|
|
namespace sophia {
|
|
|
|
enum class ClearFlags : u8 {
|
|
None = 0,
|
|
Color = 1 << 0,
|
|
Depth = 1 << 1,
|
|
Stencil = 1 << 2,
|
|
All = Color | Depth | Stencil
|
|
};
|
|
|
|
struct SceneView {
|
|
SceneHandle scene = INVALID_HANDLE;
|
|
RenderTargetHandle target = INVALID_HANDLE;
|
|
Entity camera;
|
|
|
|
vec4 viewport{0.0f, 0.0f, 1.0f, 1.0f};
|
|
|
|
vec4 clearColor{0.f, 0.f, 0.f, 1.f};
|
|
ClearFlags clearFlags = ClearFlags::All;
|
|
|
|
u32 priority = 0; // Lower priority renders first
|
|
u32 layerMask = 0xFFFFFFFF;
|
|
|
|
bool enabled = true; // Disabled views are kept but not rendered
|
|
};
|
|
|
|
} // namespace sophia
|