Foundation
Loading...
Searching...
No Matches
Functions
LightBVH.cpp File Reference
#include "LightBVH.hpp"
#include <algorithm>
#include <cfloat>
#include <cmath>
#include <limits>
#include <numbers>
#include <vector>

Functions

void ComputeAnalyticalLightBounds (GSLight const &light, float3 &aabbMin, float3 &aabbMax, float3 &center, float3 &coneDirection, float &cosConeAngle)
 
LightBVHBuild BuildLightBVH (Span< GSLight const > lights, Span< GSEmissiveCluster const > clusters, LightBVHOptions const &options, Allocator *alloc)
 
bool ValidateLightBVH (LightBVHBuild const &bvh, Span< GSLight const > lights, Span< GSEmissiveCluster const > clusters, String *outError)
 
bool LightBVHRunBuilderSelfTests (Allocator *alloc, String *outError)
 

Function Documentation

◆ BuildLightBVH()

LightBVHBuild BuildLightBVH ( Span< GSLight const >  lights,
Span< GSEmissiveCluster const >  clusters,
LightBVHOptions const &  options,
Allocator alloc 
)

◆ ComputeAnalyticalLightBounds()

void ComputeAnalyticalLightBounds ( GSLight const &  light,
float3 aabbMin,
float3 aabbMax,
float3 center,
float3 coneDirection,
float &  cosConeAngle 
)

◆ LightBVHRunBuilderSelfTests()

bool LightBVHRunBuilderSelfTests ( Allocator alloc,
String outError 
)

◆ ValidateLightBVH()

bool ValidateLightBVH ( LightBVHBuild const &  bvh,
Span< GSLight const >  lights,
Span< GSEmissiveCluster const >  clusters,
String outError 
)