17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-10-28 13:27:30 +01:00
Files
maszyna/betterRenderer/renderer/source/fsr.h
maj00r 2695c8e525 include what you use in betterRenderer
Its sources reached the standard library through the project headers they
included; those are imports now. 178 headers across 56 files, plus 18 C
library headers elsewhere for memcpy/printf and friends. MSVC's STL does
not supply these transitively the way libstdc++ does.
2026-09-10 00:26:55 +02:00

47 lines
1.1 KiB
C++

#pragma once
#include <ffx-fsr2-api/ffx_fsr2.h>
#include "nvrendererbackend.h"
import eu07.glm;
#include <cstddef>
#include <string>
struct NvFSR {
NvFSR(class NvRenderer* renderer);
void Init();
void Render(nvrhi::ICommandList* command_list, double far_plane,
double near_plane, double fov);
FfxFsr2Interface m_fsr2_interface;
FfxFsr2Context m_fsr2_context;
std::string m_scratch_buffer;
nvrhi::ITexture* m_color;
nvrhi::ITexture* m_auto_exposure_buffer;
nvrhi::ITexture* m_depth;
nvrhi::ITexture* m_motion;
nvrhi::TextureHandle m_output;
FfxResource GetFfxResource(
nvrhi::ITexture* texture, wchar_t const* name = nullptr,
FfxResourceStates state = FFX_RESOURCE_STATE_COMPUTE_READ);
int m_input_width;
int m_input_height;
int m_width;
int m_height;
glm::vec2 m_current_jitter;
class NvRendererBackend* m_backend;
struct NvGbuffer* m_gbuffer;
struct GbufferBlitPass* m_inputpass;
struct MaAutoExposure* m_auto_exposure;
size_t m_current_frame = 0;
void BeginFrame();
glm::dmat4 GetJitterMatrix() const;
void ComputeJitter();
};