NazaraEngine/include/Nazara/Graphics/FrameGraphStructs.hpp

45 lines
1.0 KiB
C++

// Copyright (C) 2023 Jérôme "Lynix" Leclercq (lynix680@gmail.com)
// This file is part of the "Nazara Engine - Graphics module"
// For conditions of distribution and use, see copyright notice in Config.hpp
#pragma once
#ifndef NAZARA_GRAPHICS_FRAMEGRAPHSTRUCTS_HPP
#define NAZARA_GRAPHICS_FRAMEGRAPHSTRUCTS_HPP
#include <NazaraUtils/Prerequisites.hpp>
#include <Nazara/Graphics/FramePassAttachment.hpp>
#include <Nazara/Renderer/Enums.hpp>
#include <Nazara/Utility/Enums.hpp>
#include <optional>
#include <string>
namespace Nz
{
class Texture;
struct FrameGraphTextureData
{
struct ViewData
{
std::size_t parentTextureId;
std::size_t arrayLayer;
};
std::optional<ViewData> viewData;
std::shared_ptr<Texture> externalTexture;
std::string name;
ImageType type;
PixelFormat format;
FramePassAttachmentSize size;
TextureUsageFlags usage;
bool canReuse;
unsigned int width;
unsigned int height;
unsigned int layerCount;
unsigned int viewerIndex;
};
}
#endif // NAZARA_GRAPHICS_FRAMEGRAPHSTRUCTS_HPP