Graphics/Camera: Allow to enable/disable passes without re-specifying

This commit is contained in:
SirLynix 2023-10-10 21:55:08 +02:00 committed by Jérôme Leclercq
parent c2e47501e4
commit 9066fe78bb
2 changed files with 15 additions and 2 deletions

View File

@ -27,6 +27,9 @@ namespace Nz
inline Camera(Camera&& camera) noexcept; inline Camera(Camera&& camera) noexcept;
~Camera() = default; ~Camera() = default;
inline void DisableFramePipelinePasses(FramePipelineExtraPassFlags framePipelineExtraPassFlags);
inline void EnableFramePipelinePasses(FramePipelineExtraPassFlags framePipelineExtraPassFlags);
inline float GetAspectRatio() const; inline float GetAspectRatio() const;
const Color& GetClearColor() const override; const Color& GetClearColor() const override;
inline DegreeAnglef GetFOV() const; inline DegreeAnglef GetFOV() const;
@ -45,7 +48,7 @@ namespace Nz
inline void UpdateClearColor(Color color); inline void UpdateClearColor(Color color);
inline void UpdateFOV(DegreeAnglef fov); inline void UpdateFOV(DegreeAnglef fov);
inline void UpdateFramePipelineExtraPassFlags(FramePipelineExtraPassFlags framePipelineExtraFlags); inline void UpdateFramePipelinePasses(FramePipelineExtraPassFlags framePipelineExtraFlags);
inline void UpdateProjectionType(ProjectionType projectionType); inline void UpdateProjectionType(ProjectionType projectionType);
inline void UpdateRenderMask(UInt32 renderMask); inline void UpdateRenderMask(UInt32 renderMask);
inline void UpdateRenderOrder(Int32 renderOrder); inline void UpdateRenderOrder(Int32 renderOrder);

View File

@ -63,6 +63,16 @@ namespace Nz
UpdateTarget(camera.m_renderTarget); UpdateTarget(camera.m_renderTarget);
} }
inline void Camera::DisableFramePipelinePasses(FramePipelineExtraPassFlags framePipelineExtraPassFlags)
{
m_framePipelineExtraPassFlags &= ~framePipelineExtraPassFlags;
}
inline void Camera::EnableFramePipelinePasses(FramePipelineExtraPassFlags framePipelineExtraPassFlags)
{
m_framePipelineExtraPassFlags |= framePipelineExtraPassFlags;
}
inline float Camera::GetAspectRatio() const inline float Camera::GetAspectRatio() const
{ {
return m_aspectRatio; return m_aspectRatio;
@ -119,7 +129,7 @@ namespace Nz
UpdateProjectionMatrix(); UpdateProjectionMatrix();
} }
inline void Camera::UpdateFramePipelineExtraPassFlags(FramePipelineExtraPassFlags framePipelineExtraFlags) inline void Camera::UpdateFramePipelinePasses(FramePipelineExtraPassFlags framePipelineExtraFlags)
{ {
m_framePipelineExtraPassFlags = framePipelineExtraFlags; m_framePipelineExtraPassFlags = framePipelineExtraFlags;
} }