MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Kinesis::LatticeSemantics Struct Reference

Interpretation attached to one named quantity sampled over a lattice. More...

#include <LatticeSemantics.hpp>

+ Collaboration diagram for MayaFlux::Kinesis::LatticeSemantics:

Public Attributes

LatticeValueClass value_class = LatticeValueClass::Unknown
 Geometric meaning of the values.
 
VectorVariance variance = VectorVariance::Invariant
 Vector quantities only.
 

Detailed Description

Interpretation attached to one named quantity sampled over a lattice.

Carries no data and no lattice. It says what a separately stored array of values means, so that a consumer which never saw the code that produced them can resample, render or write them correctly.

Pure description with no behaviour, which is why it lives in Kinesis rather than in Buffers or IO. A GPU-resident simulation attaches one to each of its stored quantities at declaration; an interchange writer reads the same struct and maps it to whatever its format calls these two ideas. Neither side owns it and neither needs its own copy.

Both members default to their least presumptuous value, so a caller that has nothing to say says nothing:

vol->declare_scalar("density", { .value_class = LatticeValueClass::FogVolume });
vol->declare_vector("velocity", { .variance = VectorVariance::ContravariantRelative });
vol->declare_scratch("divergence");
@ FogVolume
Density of a participating medium, zero outside it.
@ ContravariantRelative
Transforms by the frame itself; velocities.

Definition at line 91 of file LatticeSemantics.hpp.


The documentation for this struct was generated from the following file: