Foray Library
rapid prototyping framework for crossplatform development of vulkan hardware ray tracing applications
Loading...
Searching...
No Matches
foray_envmap.hpp
Go to the documentation of this file.
1#pragma once
2#include "../core/foray_managedimage.hpp"
3#include "../core/foray_samplercollection.hpp"
5#include "../osi/foray_env.hpp"
6
7namespace foray::util {
8
11 {
12 public:
13 void Create(core::Context* context, const osi::Utf8Path& path, std::string_view name, VkFormat loadFormat = VkFormat::VK_FORMAT_UNDEFINED, VkFormat storeFormat = VkFormat::VK_FORMAT_R16G16B16A16_SFLOAT);
14 void Destroy();
15
16 virtual ~EnvironmentMap() {Destroy();}
17
18 FORAY_GETTER_CR(Sampler)
19 FORAY_GETTER_CR(Image)
20
21 protected:
24 };
25} // namespace foray::util
Wraps allocation and lifetime functionality of VkImage.
Definition foray_managedimage.hpp:13
Represents a reference to a VkSampler object managed by a SamplerCollection.
Definition foray_samplercollection.hpp:13
Utf8 encoded path wrapper.
Definition foray_env.hpp:28
Experimental type loading an environment map in spherical representation, also generates mip maps.
Definition foray_envmap.hpp:11
virtual ~EnvironmentMap()
Definition foray_envmap.hpp:16
core::ManagedImage mImage
Definition foray_envmap.hpp:22
core::SamplerReference mSampler
Definition foray_envmap.hpp:23
void Create(core::Context *context, const osi::Utf8Path &path, std::string_view name, VkFormat loadFormat=VkFormat::VK_FORMAT_UNDEFINED, VkFormat storeFormat=VkFormat::VK_FORMAT_R16G16B16A16_SFLOAT)
#define FORAY_GETTER_CR(member)
Return constant reference.
Definition foray_basics.hpp:60
Definition foray_dualbuffer.hpp:5
Non owning context object.
Definition foray_context.hpp:16