Lumiera  0.pre.03
»edit your freedom«
render-invocation.hpp
Go to the documentation of this file.
1 /*
2  RENDER-INVOCATION.hpp - initiate the rendering of a single frame
3 
4  Copyright (C)
5  2009, Hermann Vosseler <Ichthyostega@web.de>
6 
7   **Lumiera** is free software; you can redistribute it and/or modify it
8   under the terms of the GNU General Public License as published by the
9   Free Software Foundation; either version 2 of the License, or (at your
10   option) any later version. See the file COPYING for further details.
11 
12 */
13 
27 #ifndef ENGINE_RENDER_INVOCATION_H
28 #define ENGINE_RENDER_INVOCATION_H
29 
30 
31 #include "vault/gear/job.h"
33 //#include "steam/engine/buffhandle.hpp"
34 
35 
36 
37 
38 namespace steam {
39 namespace engine {
40 
41 
48  : public vault::gear::JobClosure
49  {
50  ProcNode& theNode_;
51 
52 
53  /* === JobFunctor Interface === */
54 
55  JobKind
56  getJobKind() const override
57  {
58  return CALC_JOB;
59  }
60 
61  string diagnostic() const override;
62 
63  InvocationInstanceID buildInstanceID (HashVal) const override;
64  size_t hashOfInstance (InvocationInstanceID invoKey) const override;
65 
66  void invokeJobOperation (vault::gear::JobParameter);
67 
68  public:
69  RenderInvocation (ProcNode& exitNode)
70  : theNode_(exitNode)
71  { }
72  };
73 
74 
75 
76 }} // namespace steam::engine
77 #endif
A concrete JobFunctor with the ability to activate the »Render Node Network«.
Steam-Layer implementation namespace root.
JobKind
Definition: job.h:62
calculating frame data, CPU bound
Definition: job.h:64
Interface to the processing nodes and the render nodes network.
Definition of a render job.
opaque ID attached to each individual job invocation.
Definition: job.h:103
size_t HashVal
a STL compatible hash value
Definition: hash-value.h:52
Interface of the closure for frame rendering jobs.
Definition: job.h:235
Key abstraction of the Render Engine: A Data processing Node.
Definition: proc-node.hpp:154
void invokeJobOperation(vault::gear::JobParameter)