Skip to content

ludus::graphics::renderer::EnvironmentMap

Ludus Wiki · API overview · Browse API

Class

Immutable HDR source, importance distribution, diffuse SH and GGX mip chain. Move-only owner; accepted materials/captures retain the exact data after Reset. Initialize, Reset, moves and destruction require a closed RHI frame. All operations and destruction use the renderer/device thread. Reset before device destruction, and keep that device alive until retained uses finish.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/environment.hpp

#include <ludus/graphics/renderer/environment.hpp>
class ludus::graphics::renderer::EnvironmentMap final

Members

internal::Access

friend struct internal::Access
Grants the renderer access to retain this exact data incarnation.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/environment.hpp

Methods

EnvironmentMap

ludus::graphics::renderer::EnvironmentMap::EnvironmentMap() noexcept=default
Construct an empty owner without allocating or accessing the device.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/environment.hpp

~EnvironmentMap

ludus::graphics::renderer::EnvironmentMap::~EnvironmentMap() noexcept
Release this owner; retained renderer uses remain valid.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/environment.hpp

EnvironmentMap

ludus::graphics::renderer::EnvironmentMap::EnvironmentMap(const EnvironmentMap &)=delete
Copying ownership is forbidden; pass a borrowed pointer to material/capture creation.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/environment.hpp

operator=

EnvironmentMap & ludus::graphics::renderer::EnvironmentMap::operator=(const EnvironmentMap &)=delete
Copy assignment is forbidden; move to transfer this owner.

Related types: EnvironmentMap

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/environment.hpp

EnvironmentMap

ludus::graphics::renderer::EnvironmentMap::EnvironmentMap(EnvironmentMap &&other) noexcept
Transfer ownership, leaving other empty.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/environment.hpp

operator=

EnvironmentMap & ludus::graphics::renderer::EnvironmentMap::operator=(EnvironmentMap &&other) noexcept
Release this owner and transfer other, leaving other empty.

Related types: EnvironmentMap

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/environment.hpp

Initialize

rhi::RasterStatus ludus::graphics::renderer::EnvironmentMap::Initialize(rhi::DeviceHandle device, const EnvironmentDescription &description) noexcept
Prepare CPU data and upload RGBA16F. Empty owner required. Ready/Pending accepts ownership; every other status preserves this empty owner. HDR unsupported devices return Unsupported; no LDR fallback or exposure.

Related types: rhi::RasterStatus · EnvironmentDescription · rhi::DeviceHandle

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/environment.hpp

GetStatus

rhi::RasterStatus ludus::graphics::renderer::EnvironmentMap::GetStatus() const noexcept
Upload readiness; empty returns InvalidHandle. Does not block.

Related types: rhi::RasterStatus

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/environment.hpp

Reset

void ludus::graphics::renderer::EnvironmentMap::Reset() noexcept
Detach ownership; safe for an empty owner. No allocation or blocking.

Declared in modules/graphics/renderer/include/ludus/graphics/renderer/environment.hpp