During the early stage of the Project, at some point I attempted to »attack« the topic of Engine and Render Nodes following a ''top down path.'' This effort went into a dead end eventually — due to the total lack of tangible reference points to relate to. However, the implementation at that time prompted the development of several supporting facilities, which remain relevant until today. And it resulted in a ''free wheeling'' compound of implementation structures, which could even be operated through some highly convoluted unit test. This piece of implementation code was valuable as starting point for th »Playback Vertical Slice« in 2024 — resulting in a new design which was ''re-oriented'' towards a new degree of freedom (the »Domain Ontology«) while handling the configuration and connectivity of Render Nodes in a rather fixed and finite way. This new approach seems to be much more successful, as we're now able to build, connect and invoke Render Nodes, thereby mapping the processing through a functor binding into some arbitrary, external processing function (which will later be supplied by a media processing library — and thus be part of some »Domain Ontology«)
47 lines
1.4 KiB
C++
47 lines
1.4 KiB
C++
/*
|
||
NodeFactory - Service for creating processing nodes of various kinds
|
||
|
||
Copyright (C)
|
||
2008, Hermann Vosseler <Ichthyostega@web.de>
|
||
|
||
**Lumiera** is free software; you can redistribute it and/or modify it
|
||
under the terms of the GNU General Public License as published by the
|
||
Free Software Foundation; either version 2 of the License, or (at your
|
||
option) any later version. See the file COPYING for further details.
|
||
|
||
* *****************************************************************/
|
||
|
||
|
||
/** @file node-factory.cpp
|
||
** Implementation of render node setup and wiring
|
||
** @todo draft from the early days of the Lumiera project, reworked in 2009
|
||
** Development activity in that area as stalled ever since. In the end,
|
||
** it is highly likely we'll _indeed need_ a node factory though...
|
||
** @todo WIP-WIP 2024 to be reworked from ground up for the »Playback Vertical Slice«
|
||
*/
|
||
|
||
|
||
#include "steam/engine/exit-node.hpp"
|
||
#include "steam/engine/node-factory.hpp"
|
||
#include "steam/mobject/session/effect.hpp"
|
||
#include "lib/allocation-cluster.hpp"
|
||
|
||
//#include "steam/engine/nodewiring-obsolete.hpp"
|
||
|
||
namespace steam {
|
||
namespace engine {
|
||
|
||
/// storage for the »inactive« ExitNode marker
|
||
ExitNode ExitNode::NIL{};
|
||
|
||
|
||
namespace { // Details of node fabrication
|
||
|
||
////////////////////////////////////////////////TODO: still needed?
|
||
|
||
} // (END) Details of node fabrication
|
||
|
||
|
||
|
||
|
||
}} // namespace engine
|