lumiera_documentation/src/steam/engine/node-factory.cpp
Ichthyostega 11322ad955 clean-up: finally discard remainders form the first Render Engine draft
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«)
2025-05-30 01:47:27 +02:00

47 lines
1.4 KiB
C++
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
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