Photon Engine
2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
BvhParams.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <Common/primitive_type.h>
4
5
#include <cstddef>
6
7
namespace
ph::math
8
{
9
10
enum class
EBvhNodeSplitMethod
11
{
12
EqualItems
,
13
EqualIntervals
,
14
SAH_Buckets_OneAxis
,
15
SAH_Buckets_MultiAxis
,
16
SAH_EdgeSort_OneAxis
17
};
18
19
class
BvhParams
final
20
{
21
public
:
23
uint32
maxNodeItems
= 1;
24
26
uint32
numSahBuckets
= 64;
27
29
float32
traversalCost
= 1.0f / 8.0f;
30
32
float32
interactCost
= 1.0f;
33
35
EBvhNodeSplitMethod
splitMethod
=
EBvhNodeSplitMethod::SAH_Buckets_OneAxis
;
36
};
37
38
}
// end namespace ph::math
ph::math::BvhParams
Definition
BvhParams.h:20
ph::math::BvhParams::numSahBuckets
uint32 numSahBuckets
Definition
BvhParams.h:26
ph::math::BvhParams::interactCost
float32 interactCost
Definition
BvhParams.h:32
ph::math::BvhParams::traversalCost
float32 traversalCost
Definition
BvhParams.h:29
ph::math::BvhParams::splitMethod
EBvhNodeSplitMethod splitMethod
Definition
BvhParams.h:35
ph::math::BvhParams::maxNodeItems
uint32 maxNodeItems
Definition
BvhParams.h:23
ph::math
Math functions and utilities.
Definition
TransformInfo.h:10
ph::math::EBvhNodeSplitMethod
EBvhNodeSplitMethod
Definition
BvhParams.h:11
ph::math::EBvhNodeSplitMethod::SAH_Buckets_MultiAxis
@ SAH_Buckets_MultiAxis
ph::math::EBvhNodeSplitMethod::SAH_EdgeSort_OneAxis
@ SAH_EdgeSort_OneAxis
ph::math::EBvhNodeSplitMethod::EqualIntervals
@ EqualIntervals
ph::math::EBvhNodeSplitMethod::SAH_Buckets_OneAxis
@ SAH_Buckets_OneAxis
ph::math::EBvhNodeSplitMethod::EqualItems
@ EqualItems
Source
Math
Algorithm
BVH
BvhParams.h
Generated by
1.11.0