Radium Engine  1.5.20
Loading...
Searching...
No Matches
VolumeData.hpp
1#pragma once
2
3#include <Core/Asset/AssetData.hpp>
4#include <Core/Types.hpp>
5#include <Core/Utils/Color.hpp>
6
7namespace Ra {
8namespace Core {
9namespace Geometry {
10class AbstractVolume;
11} // namespace Geometry
12
13namespace Asset {
14
18struct VolumeData : public AssetData {
19 inline VolumeData( const std::string& name = "" ) : AssetData( name ) {}
23 Utils::Color sigma_a { 0.0011_ra, 0.0024_ra, 0.014_ra };
25 Utils::Color sigma_s { 2.55_ra, 3.21_ra, 3.77_ra };
26
28 Aabb boundingBox { Vector3 { 0_ra, 0_ra, 0_ra }, Vector3 { 1_ra, 1_ra, 1_ra } };
31 Transform densityToModel { Transform::Identity() };
33 Transform modelToWorld { Transform::Identity() };
34};
35
36} // namespace Asset
37} // namespace Core
38} // namespace Ra
AssetData(const std::string &name)
Construct an asset data given its name.
Definition AssetData.hpp:20
@ Geometry
"Geometry" render objects are those loaded using Radium::IO and generated by GeometrySystem
hepler function to manage enum as underlying types in VariableSet
Definition Cage.cpp:3
Aabb boundingBox
The bounding box of the volume.
Geometry::AbstractVolume * volume
The underlaying density matrix.
Transform modelToWorld
Transformation matrix of the object.
Utils::Color sigma_a
Absortion coefficient of the volume (default is Air)
Utils::Color sigma_s
Scattering coefficient of the volume (default is Air)