Files
maszyna/betterRenderer/renderer/source/auto_exposure.h
2025-04-15 01:32:56 +02:00

39 lines
916 B
C++

#pragma once
#include "nvrenderer/resource_registry.h"
#include <nvrhi/nvrhi.h>
class NvRenderer;
class NvRendererBackend;
struct MaAutoExposure : public MaResourceRegistry {
MaAutoExposure(NvRenderer* renderer);
void Init();
void Render(nvrhi::ICommandList* command_list);
uint32_t m_width;
uint32_t m_height;
uint32_t m_num_mips;
struct PushConstantsAutoExposure {
uint32_t m_num_mips;
uint32_t m_num_workgroups;
float m_delta_time;
float m_min_luminance_ev;
float m_max_luminance_ev;
};
NvRendererBackend* m_backend;
nvrhi::TextureHandle m_output_exposure_fsr2;
nvrhi::TextureHandle m_6th_mip_img;
nvrhi::BufferHandle m_atomic_counter;
nvrhi::BindingSetHandle m_bindings_auto_exposure;
nvrhi::ComputePipelineHandle m_pso_auto_exposure;
nvrhi::BindingSetHandle m_bindings_auto_exposure_apply;
nvrhi::ComputePipelineHandle m_pso_auto_exposure_apply;
};