7 #ifndef _Arnold_DISTRIBUTED_CACHE_INTERFACE_H_
8 #define _Arnold_DISTRIBUTED_CACHE_INTERFACE_H_
12 #include "LumiverseCoreConfig.h"
18 #ifdef USE_ARNOLD_CACHING
23 #include "Compositor.h"
24 #include "ToneMapper.h"
28 #include <unordered_map>
31 #include "DistributedArnoldInterface.h"
35 class DistributedCachingArnoldInterface :
public DistributedArnoldInterface,
public CachingArnoldInterface
38 DistributedCachingArnoldInterface(
string host,
int port,
string outputPath) : DistributedArnoldInterface(host, port, outputPath) {}
45 void init(
const JSONNode jsonPatch)
override;
50 void close()
override;
56 int render(
const std::set<Device *> &devices);
61 bool setDims(
int w,
int h)
override;
74 void setSamples(
int samples)
override;
79 void setOptionParameter(
const std::string ¶mName,
int val)
override;
80 void setOptionParameter(
const std::string ¶mName,
float val)
override;
82 float *getBufferPointer()
override;
85 Compositor compositor;
87 void dumpHDRToBuffer(
const std::set<Device *> &devices);
88 void updateDevicesLayers(
const std::set<Device *> &devices)
override;
89 void setHDROutputBuffer()
override;
93 #endif // USE_ARNOLD_CACHING
95 #endif // USE_DUMIVERSE
99 #endif // _Arnold_CACHE_INTERFACE_H_
void render()
Render a frame and pass it back to node.
Definition: Dumiverse.cpp:43
void close()
Close the connection to node.
Definition: Dumiverse.cpp:37
void init(const char *jsonPatchStr, const char *filename)
Initializes data structures.
Definition: Dumiverse.cpp:29
float getPercentage()
Gets the progress of current frame as a percentage.
Definition: Dumiverse.cpp:25
An interface for serving cached Arnold render responses.
Stores a vector used by ArnoldPatch.
Contains all core Lumiverse functions and variables.
Definition: Device.cpp:2
Implementation of a interface between ArnoldPatch and arnold.