17
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-10-17 15:39:20 +02:00
Files
maszyna/betterRenderer/renderer/source/gbuffer.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

30 lines
922 B
C++

#pragma once
#include <nvrhi/nvrhi.h>
#include <cstdint>
#include <vector>
struct NvGbuffer {
NvGbuffer(class NvRenderer* renderer);
void Init(int width, int height, bool is_cube, bool depth_only = false, int slices = 1);
void Clear(nvrhi::ICommandList* command_list);
nvrhi::TextureHandle m_gbuffer_diffuse;
nvrhi::TextureHandle m_gbuffer_emission;
nvrhi::TextureHandle m_gbuffer_normal;
nvrhi::TextureHandle m_gbuffer_params;
nvrhi::TextureHandle m_gbuffer_motion;
nvrhi::TextureHandle m_gbuffer_depth;
nvrhi::FramebufferHandle m_framebuffer;
std::vector<nvrhi::FramebufferHandle> m_slice_framebuffers;
class NvRendererBackend* m_backend;
bool m_depth_only;
static void ClearDepthStencilAttachment(nvrhi::ICommandList* commandList,
nvrhi::IFramebuffer* framebuffer,
float depth, uint32_t stencil);
};