diff options
Diffstat (limited to 'src/rendering/export_config.h')
| -rw-r--r-- | src/rendering/export_config.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/rendering/export_config.h b/src/rendering/export_config.h new file mode 100644 index 0000000..e490db6 --- /dev/null +++ b/src/rendering/export_config.h @@ -0,0 +1,28 @@ +#pragma once + +#include <string> + +namespace Donut +{ + // How each channel is written: + // Png = display image (tone-mapped colour / false-coloured observable). + // Pfm = raw float image (actual physical values; RGB, Portable Float Map). + // Csv = raw scalar grid (the observable's value per pixel, one row per line). + enum class ExportFormat { Png, Pfm, Csv }; + + // What the Export workspace asks the RenderPath to write to disk: which + // observable channels to render, at what resolution, in what format, and where. + // Each enabled channel becomes one file. + struct ExportConfig + { + bool color = true; // colour image (tone-mapped, or linear HDR when raw) + bool redshift = false; // redshift factor g (disk only) + bool temperature = false; // emission temperature in K (disk only) + bool impact = false; // impact parameter in r_s (whole frame) + + int width = 1920; + int height = 1080; + ExportFormat format = ExportFormat::Png; + std::string directory = "exports"; + }; +} |
