// ============================================= // Aster: ibl_helpers.h // Copyright (c) 2020-2024 Anish Bhobe // ============================================= #pragma once #include "global.h" #include "gpu_resource_manager.h" #include struct Pipeline; struct Texture; struct TextureCube; struct AssetLoader; struct Environment { TextureHandle m_Skybox; TextureHandle m_Diffuse; TextureHandle m_Prefilter; TextureHandle m_BrdfLut; void Destroy(GpuResourceManager *resourceManager); }; Environment CreateCubeFromHdrEnv(AssetLoader *assetLoader, vk::Queue computeQueue, u32 cubeSide, TextureHandle hdrEnv, cstr name = nullptr);