2007-08-08 04:50:02 +02:00
|
|
|
/*
|
|
|
|
|
RENDERENGINE.hpp - a complete network of processing nodes usable for rendering
|
2010-12-17 23:28:49 +01:00
|
|
|
|
2008-03-10 04:25:03 +01:00
|
|
|
Copyright (C) Lumiera.org
|
|
|
|
|
2008, Hermann Vosseler <Ichthyostega@web.de>
|
2010-12-17 23:28:49 +01:00
|
|
|
|
2007-08-08 04:50:02 +02:00
|
|
|
This program is free software; you can redistribute it and/or
|
|
|
|
|
modify it under the terms of the GNU General Public License as
|
2010-12-17 23:28:49 +01:00
|
|
|
published by the Free Software Foundation; either version 2 of
|
|
|
|
|
the License, or (at your option) any later version.
|
|
|
|
|
|
2007-08-08 04:50:02 +02:00
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
GNU General Public License for more details.
|
2010-12-17 23:28:49 +01:00
|
|
|
|
2007-08-08 04:50:02 +02:00
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
|
along with this program; if not, write to the Free Software
|
|
|
|
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
2010-12-17 23:28:49 +01:00
|
|
|
|
2007-08-08 04:50:02 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
2016-11-03 18:22:31 +01:00
|
|
|
/** @file renderengine.hpp
|
2016-11-09 19:50:16 +01:00
|
|
|
** (Planned) access point to the render engine as service.
|
|
|
|
|
** @deprecated a pile of crap, leftovers and started drafts, stalled since 2011 -- but maybe here to stay...
|
2016-11-03 18:20:10 +01:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
2016-11-09 19:50:16 +01:00
|
|
|
#ifndef PROC_ENGINE_RENDERENGINE_H
|
|
|
|
|
#define PROC_ENGINE_RENDERENGINE_H
|
2007-08-08 04:50:02 +02:00
|
|
|
|
2018-11-15 23:42:43 +01:00
|
|
|
#include "steam/engine/rendergraph.hpp"
|
2007-08-08 04:50:02 +02:00
|
|
|
|
2016-11-09 19:50:16 +01:00
|
|
|
#include <list>
|
|
|
|
|
|
2007-08-08 04:50:02 +02:00
|
|
|
|
|
|
|
|
|
2011-08-14 03:09:05 +02:00
|
|
|
/////////////////////////////TODO 7/11 this is a piece of debris, left over from the first attempt to complete the render nodes network.
|
|
|
|
|
/////////////////////////////TODO Meanwhile the intention is to treat the render nodes network more like a data structure,
|
|
|
|
|
/////////////////////////////TODO consequently this will become some kind of root or anchor point for this network
|
|
|
|
|
|
|
|
|
|
//////////TODO for the "real" engine API: look at engine-serivce.hpp
|
2007-08-08 04:50:02 +02:00
|
|
|
|
2011-12-02 16:10:03 +01:00
|
|
|
namespace proc {
|
2010-12-09 22:43:32 +01:00
|
|
|
namespace engine {
|
|
|
|
|
|
2016-11-09 19:50:16 +01:00
|
|
|
using std::list;
|
2010-12-09 22:43:32 +01:00
|
|
|
|
|
|
|
|
/**
|
2016-11-09 19:50:16 +01:00
|
|
|
* @todo this was planned to become the frontend
|
2010-12-09 22:43:32 +01:00
|
|
|
* to the render node network, which can be considered
|
|
|
|
|
* at the lower end of the middle layer; the actual
|
2018-11-15 21:13:52 +01:00
|
|
|
* render operations are mostly implemented by the vault layer
|
2010-12-09 22:43:32 +01:00
|
|
|
* ////////TODO WIP as of 12/2010
|
|
|
|
|
*/
|
2016-11-09 19:50:16 +01:00
|
|
|
class RenderEngine
|
|
|
|
|
: public RenderGraph
|
2007-08-09 18:51:47 +02:00
|
|
|
{
|
|
|
|
|
public:
|
2008-11-05 04:39:57 +01:00
|
|
|
///// TODO: find out about the public operations
|
2018-11-15 21:13:52 +01:00
|
|
|
// note: the play controller lives in the steam-layer,
|
2016-11-09 19:50:16 +01:00
|
|
|
// but is a subsystem separate of the session.
|
|
|
|
|
RenderEngine();
|
2010-12-09 22:43:32 +01:00
|
|
|
|
2007-08-09 18:51:47 +02:00
|
|
|
private:
|
2008-11-05 04:39:57 +01:00
|
|
|
list<RenderGraph> renderSegments;
|
2010-12-09 22:43:32 +01:00
|
|
|
|
2007-08-09 18:51:47 +02:00
|
|
|
};
|
2007-08-08 04:50:02 +02:00
|
|
|
|
2011-12-02 16:10:03 +01:00
|
|
|
}} // namespace proc::engine
|
2016-11-09 19:50:16 +01:00
|
|
|
#endif /*PROC_ENGINE_RENDERENGINE_H*/
|