Render temporal scene with motion, resolve and sharp UI
Native and manual checks / native (ubuntu-24.04) (push) Failing after 37s
Native and manual checks / manual (push) Successful in 28s
Windows editor and software Vulkan / windows-graphics (push) Canceled after 0s
Native and manual checks / native (windows-2025) (push) Canceled after 0s
Native and manual checks / native (ubuntu-24.04) (push) Failing after 37s
Native and manual checks / manual (push) Successful in 28s
Windows editor and software Vulkan / windows-graphics (push) Canceled after 0s
Native and manual checks / native (windows-2025) (push) Canceled after 0s
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
#include <optional>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <faset/render/temporal.hpp>
|
||||
|
||||
namespace faset::render {
|
||||
using Vec2 = std::array<float, 2>;
|
||||
@@ -146,6 +147,8 @@ struct RendererConfig {
|
||||
bool headless{false};
|
||||
bool validation{true};
|
||||
VisibilityMode visibility_mode{VisibilityMode::Direct};
|
||||
TemporalMode temporal_mode{TemporalMode::Off};
|
||||
float render_scale{1.f};
|
||||
// GPU counter readback is diagnostic-only; normal visibility uses no CPU feedback.
|
||||
bool visibility_diagnostics{false};
|
||||
// Optional isolated shader bundle, useful for editor preview and shader reload tests.
|
||||
@@ -204,6 +207,16 @@ struct FrameStats {
|
||||
double gpu_main_cull_ms{}, gpu_main_raster_ms{}, gpu_hzb_ms{};
|
||||
double gpu_post_cull_ms{}, gpu_post_raster_ms{};
|
||||
double gpu_sun_shadow_ms{}, gpu_local_shadow_ms{};
|
||||
TemporalMode requested_temporal_mode{TemporalMode::Off};
|
||||
TemporalMode effective_temporal_mode{TemporalMode::Off};
|
||||
TemporalFallbackReason temporal_fallback_reason{TemporalFallbackReason::None};
|
||||
TemporalResetReason temporal_reset_reason{TemporalResetReason::FirstFrame};
|
||||
bool temporal_history_valid{};
|
||||
std::uint32_t temporal_valid_motion_instances{};
|
||||
std::uint32_t temporal_internal_width{}, temporal_internal_height{};
|
||||
std::array<float, 2> temporal_jitter{};
|
||||
double gpu_temporal_resolve_ms{}, gpu_temporal_composite_ms{}, gpu_ui_ms{};
|
||||
std::vector<std::string> graph_passes;
|
||||
std::string effective_lighting_path{"forward"};
|
||||
std::string device;
|
||||
};
|
||||
@@ -224,6 +237,8 @@ class Renderer {
|
||||
void resize(std::uint32_t width, std::uint32_t height);
|
||||
void set_visibility_mode(VisibilityMode);
|
||||
VisibilityMode visibility_mode() const;
|
||||
void set_temporal_mode(TemporalMode mode, float render_scale = 1.f);
|
||||
TemporalMode temporal_mode() const;
|
||||
void set_visibility_diagnostics(bool enabled);
|
||||
// Reads the most recently completed HZB mip for editor diagnostics only.
|
||||
// Normal visibility decisions remain entirely on the GPU.
|
||||
|
||||
Reference in New Issue
Block a user