Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
A core abstraction within the render engine to represent an ongoing calculation.
Within the Lumiera render engine, the rendering process is modelled in a functional way, as a stream of calculations – which eventually result in a stream of data frames. Typically, streams in this context are conceived as unlimited and open-ended, and can be represented by a generator or continuation function. Moreover, the invocation of this "continue-the-stream"-function is embedded into the other rendering calculations as a series of planning jobs. Whose purpose is, to create further future calculation jobs, including future planning jobs.
All of this structure thus exists only dynamically, always in ongoing evaluation. For the interface level we thus create a symbolic placeholder, the CalcStream object
this draft was created in 2013 just to the point of defining the skeleton of the engine.
as of 2016, this is considered the way to go and will be completed eventually
Definition in file calc-stream.hpp.
#include "lib/error.hpp"
#include "steam/play/timings.hpp"
#include "steam/play/output-slot.hpp"
#include "steam/engine/render-drive.hpp"
#include <vector>
#include <memory>
Classes | |
class | CalcStream |
A calculation stream groups and abstracts a series of calculation jobs, delivering frames into the configured OutputSlot in a timely fashion. More... | |
Typedefs | |
typedef std::vector< CalcStream > | CalcStreams |
Namespaces | |
steam | |
Steam-Layer implementation namespace root. | |
steam::engine | |
Lumiera's render engine core and operational control. | |