PBRUtilsVk.h#

Parent directory (Vulkan)

Contains Vulkan-specific utilities to facilitate Physically Based Rendering tasks, such as generating irradiance maps and BRDF lookup tables.

Includes#

  • PVRCore/texture/Texture.h

  • PVRUtils/PBRUtils.h

  • PVRUtils/Vulkan/MemoryAllocator.h

  • PVRVk/PVRVk.h

Namespaces#

Functions#

Source Code#

#pragma once
#include "PVRCore/texture/Texture.h"
#include "PVRVk/PVRVk.h"
#include "PVRUtils/Vulkan/MemoryAllocator.h"
#include "PVRUtils/PBRUtils.h"

namespace pvr {
namespace utils {

Texture generateIrradianceMap(pvrvk::Queue queue, pvrvk::ImageView environmentMap, pvr::PixelFormat outputPixelFormat, pvr::VariableType outputVariableType, uint32_t mapSize = 64,
    uint32_t mapNumSamples = 16384);

Texture generatePreFilteredMapMipmapStyle(pvrvk::Queue queue, pvrvk::ImageView environmentMap, pvr::PixelFormat outputPixelFormat, pvr::VariableType outputVariableType,
    uint32_t mapSize, bool zeroRoughnessIsExternal, int numMipLevelsToDiscard, uint32_t mapNumSamples = 65536);
} // namespace utils
} // namespace pvr