Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
Access point for the (core) calculation service of the render engine.
This Steam-Layer internal service is provided for use by the Player subsystem. The actual implementation is forwarded to Vault services (especially the scheduler). The EngineService singleton has no state beyond the jobs currently managed by the scheduler; when the latter isn't available, any invocation will throw.
The central concept provided through this facade interface is the calculation stream. This represents a series of calculations, expected to happen in a timely fashion and in order to deliver a frame data stream into an opened output connection. On the implementation side, a calculation stream will be translated into a series of jobs to invoke render nodes; these jobs are to be executed through the scheduler in the Vault Layer.
While the individual CalcStram is simple, linear and unmodifiable, any CalcStream may be superseded by a new definition. In this case, the engine will care for a seamless switch and continuation; under the hood, there is a mechanism to discard resources tied to the original CalcStream, once the switch to the new definition is complete.
Definition in file engine-service.hpp.
#include "lib/error.hpp"
#include "lib/nocopy.hpp"
#include "steam/engine/calc-stream.hpp"
#include "steam/mobject/model-port.hpp"
#include "steam/play/timings.hpp"
#include "steam/play/output-slot.hpp"
#include "lib/polymorphic-value.hpp"
#include "lib/depend.hpp"
#include <functional>
Classes | |
class | EngineService |
A service to schedule series of calculations, delivering the rendered data into an external output sink in a timely fashion. More... | |
class | EngineService::Quality |
Quality-of-Service definition for an Render Engine usage. More... | |
Typedefs | |
typedef steam::play::OutputSlot::Allocation | OutputConnection |
Namespaces | |
steam | |
Steam-Layer implementation namespace root. | |
steam::engine | |
Lumiera's render engine core and operational control. | |