diff options
| author | hachem <im@hachem.wtf> | 2026-08-24 03:57:40 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-08-24 03:57:40 +0200 |
| commit | 59b7c407550d63e997ed1e7bed286be5c332c285 (patch) | |
| tree | 95f168df75d33326dde486b401c1abf62608ff7c /src/rendering/export_config.h | |
| parent | 7ae22084c74cbe0c127e0ea1c96ec22a1f47d221 (diff) | |
[feat]: work on render path exporting
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"; + }; +} |
