Foundation
Loading...
Searching...
No Matches
Source
Renderer
Curve.hpp
Go to the documentation of this file.
1
#pragma once
2
#include <
Math/Math.hpp
>
3
#include "
Metadata.hpp
"
4
#include "
Serialization.hpp
"
5
using namespace
Foundation
;
6
using namespace
Core;
7
using namespace
Math;
8
#pragma pack(push, 1)
9
// Triangle BLAS vertex for DOTS.
10
struct
FCurveDOTSVertex
11
{
12
uint16_t
position
[4];
// quantized FP16 [xyz] padding [w]
13
};
14
// Tapered capsule leaf reconstructed at shading time (primitiveIndex / 4).
15
struct
FCurveLeaf
16
{
17
float3
p0
;
18
float
r0
;
19
float3
p1
;
20
float
r1
;
21
float
u0
;
22
float
u1
;
23
};
24
#pragma pack(pop)
25
struct
FSerializedCurve
26
{
27
FUUID
id
{};
28
FSerializedBounds
bounds
;
29
FBlobRef
vertices
;
// FCurveDOTSVertex
30
FBlobRef
indices
;
// uint32_t, 12 indices (4 tris) per leaf
31
FBlobRef
leaves
;
// FCurveLeaf
32
};
Math.hpp
Metadata.hpp
Serialization.hpp
Foundation::Math::float3
vec3 float3
Definition
Math.hpp:26
Foundation
Definition
Allocator.hpp:6
FBlobRef
Definition
Serialization.hpp:27
FCurveDOTSVertex
Definition
Curve.hpp:11
FCurveDOTSVertex::position
uint16_t position[4]
Definition
Curve.hpp:12
FCurveLeaf
Definition
Curve.hpp:16
FCurveLeaf::u1
float u1
Definition
Curve.hpp:22
FCurveLeaf::u0
float u0
Definition
Curve.hpp:21
FCurveLeaf::r0
float r0
Definition
Curve.hpp:18
FCurveLeaf::r1
float r1
Definition
Curve.hpp:20
FCurveLeaf::p1
float3 p1
Definition
Curve.hpp:19
FCurveLeaf::p0
float3 p0
Definition
Curve.hpp:17
FSerializedBounds
Definition
Metadata.hpp:14
FSerializedCurve
Definition
Curve.hpp:26
FSerializedCurve::vertices
FBlobRef vertices
Definition
Curve.hpp:29
FSerializedCurve::indices
FBlobRef indices
Definition
Curve.hpp:30
FSerializedCurve::bounds
FSerializedBounds bounds
Definition
Curve.hpp:28
FSerializedCurve::leaves
FBlobRef leaves
Definition
Curve.hpp:31
Foundation::Core::FUUID
128-bit identifier. Two flavors, both well-formed per RFC 9562:
Definition
UUID.hpp:35
Generated by
1.9.8