123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #ifndef ALMOND_VIDEORECIPE_H
- #define ALMOND_VIDEORECIPE_H
- #include <optional>
- #include "MandelUtil.h"
- #include "Gradient.h"
- namespace alm
- {
- enum class Interpolation
- {
- NONE,
- LINEAR,
- SINE
- };
- template<typename T>
- struct Change
- {
- T newValue;
- Interpolation interpolation;
- };
- template<typename T>
- using MaybeChange = std::optional<Change<T>>;
- struct VideoPoint;
- struct VideoRecipe;
- }
- struct alm::VideoPoint
- {
- MaybeChange<int> maxIterations;
- MaybeChange<mnd::MandelViewport> view;
- MaybeChange<Gradient> gradient;
- };
- struct alm::VideoRecipe
- {
- int width;
- int height;
- float fps;
- std::vector<VideoPoint> nodes;
- };
- #endif // ALMOND_VIDEORECIPE_H
|