VTK  9.0.1
OSPRayBackend.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <ospray/ospray.h>
4 
5 #include "../Backend.h"
6 
7 #include <cstring>
8 #include <sstream>
9 #include <stdexcept>
10 #include <stdlib.h>
11 #include <vector>
12 
13 namespace RTW
14 {
15 
16  OSPFrameBufferFormat convert(RTWFrameBufferFormat format)
17  {
18  switch (format)
19  {
20  case RTW_FB_RGBA8:
21  return OSP_FB_RGBA8;
22  case RTW_FB_RGBA32F:
23  return OSP_FB_RGBA32F;
24  default:
25  return OSP_FB_NONE;
26  }
27  }
28 
30  {
31  switch (format)
32  {
33  case RTW_TEXTURE_RGBA8:
34  return OSP_TEXTURE_RGBA8;
35  case RTW_TEXTURE_SRGBA:
36  return OSP_TEXTURE_SRGBA;
38  return OSP_TEXTURE_RGBA32F;
39  case RTW_TEXTURE_RGB8:
40  return OSP_TEXTURE_RGB8;
41  case RTW_TEXTURE_SRGB:
42  return OSP_TEXTURE_SRGB;
43  case RTW_TEXTURE_RGB32F:
44  return OSP_TEXTURE_RGB32F;
45  case RTW_TEXTURE_R8:
46  return OSP_TEXTURE_R8;
47  case RTW_TEXTURE_R32F:
48  return OSP_TEXTURE_R32F;
49  case RTW_TEXTURE_L8:
50  return OSP_TEXTURE_L8;
51  case RTW_TEXTURE_RA8:
52  return OSP_TEXTURE_RA8;
53  case RTW_TEXTURE_LA8:
54  return OSP_TEXTURE_LA8;
56  default:
57  return OSP_TEXTURE_FORMAT_INVALID;
58  }
59  }
60 
61 
62 
63 
64  /*
65  * Simple pass-through backend for OSPRay.
66  */
67  class OSPRayBackend : public Backend
68  {
69  public:
70  RTWError Init() override
71  {
72  RTWError ret = static_cast<RTWError>(ospInit(nullptr, nullptr));
73  return ret;
74  }
75 
76  void Shutdown() override
77  {
78  ospShutdown();
79  }
80 
81  bool IsSupported(RTWFeature feature) const override
82  {
83  switch (feature)
84  {
86  return false;
87  case RTW_OPENGL_INTEROP:
88  return false;
90  return false;
91  case RTW_INSTANCING:
92  return true;
93  case RTW_DENOISER:
94  return false; // OpenImageDenoise is an external lib outside of the backend
96  return true;
97  }
98  return false;
99  }
100 
101  RTWData NewData(size_t numElements, RTWDataType dataType, const void *source, const uint32_t dataCreationFlags) override
102  {
103  return reinterpret_cast<RTWData>(ospNewData(numElements, static_cast<OSPDataType>(dataType), source, dataCreationFlags));
104  }
105 
106  RTWGeometry NewGeometry(const char *type) override
107  {
108  return reinterpret_cast<RTWGeometry>(ospNewGeometry(type));
109  }
110 
111  RTWTexture NewTexture(const char* type) override
112  {
113  return reinterpret_cast<RTWTexture>(ospNewTexture(type));
114  }
115 
116  RTWLight NewLight3(const char *light_type) override
117  {
118  return reinterpret_cast<RTWLight>(ospNewLight3(light_type));
119  }
120 
121  RTWMaterial NewMaterial2(const char *renderer_type, const char *material_type) override
122  {
123  return reinterpret_cast<RTWMaterial>(ospNewMaterial2(renderer_type, material_type));
124  }
125 
126  RTWVolume NewVolume(const char *type) override
127  {
128  return reinterpret_cast<RTWVolume>(ospNewVolume(type));
129  }
130 
132  {
133  return reinterpret_cast<RTWTransferFunction>(ospNewTransferFunction(type));
134  }
135 
136  RTWRenderer NewRenderer(const char *type) override
137  {
138  return reinterpret_cast<RTWRenderer>(ospNewRenderer(type));
139  }
140 
141  RTWCamera NewCamera(const char *type) override
142  {
143  return reinterpret_cast<RTWCamera>(ospNewCamera(type));
144  }
145 
146  RTWModel NewModel() override
147  {
148  return reinterpret_cast<RTWModel>(ospNewModel());
149  }
150 
151  RTWGeometry NewInstance(RTWModel modelToInstantiate, const rtw::affine3f &transform) override
152  {
153  osp::affine3f xfm;
154  memcpy(&xfm, &transform, sizeof(osp::affine3f));
155  return reinterpret_cast<RTWGeometry>(ospNewInstance(reinterpret_cast<OSPModel>(modelToInstantiate), xfm));
156  }
157 
158  RTWFrameBuffer NewFrameBuffer(const rtw::vec2i &size, const RTWFrameBufferFormat format, const uint32_t frameBufferChannels) override
159  {
160  return reinterpret_cast<RTWFrameBuffer>(ospNewFrameBuffer(osp::vec2i{ size.x, size.y }, convert(format), frameBufferChannels));
161  }
162 
163  void Release(RTWObject object) override
164  {
165  ospRelease(reinterpret_cast<OSPObject>(object));
166  }
167 
168  void AddGeometry(RTWModel model, RTWGeometry geometry) override
169  {
170  ospAddGeometry(reinterpret_cast<OSPModel>(model), reinterpret_cast<OSPGeometry>(geometry));
171  }
172 
173  void AddVolume(RTWModel model, RTWVolume volume) override
174  {
175  ospAddVolume(reinterpret_cast<OSPModel>(model), reinterpret_cast<OSPVolume>(volume));
176  }
177 
178  void SetString(RTWObject object, const char *id, const char *s) override
179  {
180  ospSetString(reinterpret_cast<OSPObject>(object), id, s);
181  }
182 
183  void SetObject(RTWObject object, const char *id, RTWObject other) override
184  {
185  ospSetObject(reinterpret_cast<OSPObject>(object), id, reinterpret_cast<OSPObject>(other));
186  }
187 
188  void SetData(RTWObject object, const char *id, RTWData data) override
189  {
190  ospSetData(reinterpret_cast<OSPObject>(object), id, reinterpret_cast<OSPData>(data));
191  }
192 
193  void SetMaterial(RTWGeometry geometry, RTWMaterial material) override
194  {
195  ospSetMaterial(reinterpret_cast<OSPGeometry>(geometry), reinterpret_cast<OSPMaterial>(material));
196  }
197 
198  void Set1i(RTWObject object, const char *id, int32_t x) override
199  {
200  ospSet1i(reinterpret_cast<OSPObject>(object), id, x);
201  }
202 
203  void Set1f(RTWObject object, const char *id, float x) override
204  {
205  ospSet1f(reinterpret_cast<OSPObject>(object), id, x);
206  }
207 
208  void Set2f(RTWObject object, const char *id, float x, float y) override
209  {
210  ospSet2f(reinterpret_cast<OSPObject>(object), id, x, y);
211  }
212 
213  void Set2i(RTWObject object, const char *id, int x, int y) override
214  {
215  ospSet2i(reinterpret_cast<OSPObject>(object), id, x, y);
216  }
217 
218  void Set3i(RTWObject object, const char *id, int x, int y, int z) override
219  {
220  ospSet3i(reinterpret_cast<OSPObject>(object), id, x, y, z);
221  }
222 
223  void Set3f(RTWObject object, const char *id, float x, float y, float z) override
224  {
225  ospSet3f(reinterpret_cast<OSPObject>(object), id, x, y, z);
226  }
227 
228  void Set4f(RTWObject object, const char *id, float x, float y, float z, float w) override
229  {
230  ospSet4f(reinterpret_cast<OSPObject>(object), id, x, y, z, w);
231  }
232 
233  void RemoveParam(RTWObject object, const char *id) override
234  {
235  ospRemoveParam(reinterpret_cast<OSPObject>(object), id);
236  }
237 
238  RTWError SetRegion(RTWVolume volume, void *source, const rtw::vec3i &regionCoords, const rtw::vec3i &regionSize) override
239  {
240  return static_cast<RTWError>(ospSetRegion(reinterpret_cast<OSPVolume>(volume), source,
241  osp::vec3i{ regionCoords.x, regionCoords.y, regionCoords.z },
242  osp::vec3i{ regionSize.x, regionSize.y, regionSize.z }));
243  }
244 
245  void Commit(RTWObject object) override
246  {
247  ospCommit(reinterpret_cast<OSPObject>(object));
248  }
249 
250  float RenderFrame(RTWFrameBuffer frameBuffer, RTWRenderer renderer, const uint32_t frameBufferChannels) override
251  {
252  return ospRenderFrame(reinterpret_cast<OSPFrameBuffer>(frameBuffer), reinterpret_cast<OSPRenderer>(renderer), frameBufferChannels);
253  }
254 
255  void FrameBufferClear(RTWFrameBuffer frameBuffer, const uint32_t frameBufferChannels) override
256  {
257  ospFrameBufferClear(reinterpret_cast<OSPFrameBuffer>(frameBuffer), frameBufferChannels);
258  }
259 
260  const void* MapFrameBuffer(RTWFrameBuffer frameBuffer, const RTWFrameBufferChannel channel) override
261  {
262  return ospMapFrameBuffer(reinterpret_cast<OSPFrameBuffer>(frameBuffer), static_cast<OSPFrameBufferChannel>(channel));
263  }
264 
265  void UnmapFrameBuffer(const void *mapped, RTWFrameBuffer frameBuffer) override
266  {
267  ospUnmapFrameBuffer(mapped, reinterpret_cast<OSPFrameBuffer>(frameBuffer));
268  }
269 
270  void SetDepthNormalizationGL(RTWFrameBuffer /*frameBuffer*/, float /*clipMin*/, float /*clipMax*/) override
271  {
272  // not supported
273  }
274 
275  int GetColorTextureGL(RTWFrameBuffer /*frameBuffer*/) override
276  {
277  // not supported
278  return 0;
279  }
280 
281  int GetDepthTextureGL(RTWFrameBuffer /*frameBuffer*/) override
282  {
283  // not supported
284  return 0;
285  }
286  };
287 }
ospSetObject
#define ospSetObject
Definition: RTWrapper.h:78
ospUnmapFrameBuffer
#define ospUnmapFrameBuffer
Definition: RTWrapper.h:102
RTWVolume
struct RTWHandle * RTWVolume
Definition: Types.h:99
RTW_TEXTURE_RGBA32F
@ RTW_TEXTURE_RGBA32F
Definition: Types.h:41
RTW::OSPRayBackend::IsSupported
bool IsSupported(RTWFeature feature) const override
Definition: OSPRayBackend.h:81
RTW::OSPRayBackend::Release
void Release(RTWObject object) override
Definition: OSPRayBackend.h:163
OSP_TEXTURE_R32F
#define OSP_TEXTURE_R32F
Definition: RTWrapper.h:51
RTWLight
struct RTWHandle * RTWLight
Definition: Types.h:98
OSPDataType
#define OSPDataType
Definition: RTWrapper.h:28
rtw::vec3i::z
int z
Definition: Types.h:82
ospNewInstance
#define ospNewInstance
Definition: RTWrapper.h:96
RTW::OSPRayBackend::NewData
RTWData NewData(size_t numElements, RTWDataType dataType, const void *source, const uint32_t dataCreationFlags) override
Definition: OSPRayBackend.h:101
OSPGeometry
#define OSPGeometry
Definition: RTWrapper.h:24
RTW_TEXTURE_FORMAT_INVALID
@ RTW_TEXTURE_FORMAT_INVALID
Definition: Types.h:50
RTWFrameBuffer
struct RTWHandle * RTWFrameBuffer
Definition: Types.h:90
RTWObject
struct RTWHandle * RTWObject
Definition: Types.h:102
ospSetString
#define ospSetString
Definition: RTWrapper.h:76
OSPData
#define OSPData
Definition: RTWrapper.h:17
ospSet2f
#define ospSet2f
Definition: RTWrapper.h:71
RTW_TEXTURE_R8
@ RTW_TEXTURE_R8
Definition: Types.h:45
RTWFrameBufferChannel
RTWFrameBufferChannel
Definition: Types.h:22
vtkX3D::type
@ type
Definition: vtkX3D.h:522
RTW::OSPRayBackend::Set1f
void Set1f(RTWObject object, const char *id, float x) override
Definition: OSPRayBackend.h:203
ospNewMaterial2
#define ospNewMaterial2
Definition: RTWrapper.h:91
RTW::OSPRayBackend
Definition: OSPRayBackend.h:67
RTW::OSPRayBackend::Set1i
void Set1i(RTWObject object, const char *id, int32_t x) override
Definition: OSPRayBackend.h:198
ospSet1i
#define ospSet1i
Definition: RTWrapper.h:68
RTW::OSPRayBackend::SetObject
void SetObject(RTWObject object, const char *id, RTWObject other) override
Definition: OSPRayBackend.h:183
vtkX3D::data
@ data
Definition: vtkX3D.h:321
ospAddGeometry
#define ospAddGeometry
Definition: RTWrapper.h:104
ospNewTexture
#define ospNewTexture
Definition: RTWrapper.h:90
OSP_FB_RGBA8
#define OSP_FB_RGBA8
Definition: RTWrapper.h:59
rtw::vec3i::y
int y
Definition: Types.h:82
ospSet2i
#define ospSet2i
Definition: RTWrapper.h:69
ospRemoveParam
#define ospRemoveParam
Definition: RTWrapper.h:82
ospNewRenderer
#define ospNewRenderer
Definition: RTWrapper.h:98
ospRelease
#define ospRelease
Definition: RTWrapper.h:85
ospNewData
#define ospNewData
Definition: RTWrapper.h:87
RTWModel
struct RTWHandle * RTWModel
Definition: Types.h:94
ospRenderFrame
#define ospRenderFrame
Definition: RTWrapper.h:100
RTW_DEPTH_NORMALIZATION
@ RTW_DEPTH_NORMALIZATION
Definition: Types.h:109
RTW
Definition: Backend.h:5
RTW::OSPRayBackend::Shutdown
void Shutdown() override
Definition: OSPRayBackend.h:76
RTW::OSPRayBackend::GetColorTextureGL
int GetColorTextureGL(RTWFrameBuffer) override
Definition: OSPRayBackend.h:275
RTWFeature
RTWFeature
Definition: Types.h:107
OSPObject
#define OSPObject
Definition: RTWrapper.h:14
ospSet1f
#define ospSet1f
Definition: RTWrapper.h:66
OSPVolume
#define OSPVolume
Definition: RTWrapper.h:26
rtw::vec3i::x
int x
Definition: Types.h:82
ospNewVolume
#define ospNewVolume
Definition: RTWrapper.h:93
OSPTextureFormat
#define OSPTextureFormat
Definition: RTWrapper.h:22
RTW::OSPRayBackend::MapFrameBuffer
const void * MapFrameBuffer(RTWFrameBuffer frameBuffer, const RTWFrameBufferChannel channel) override
Definition: OSPRayBackend.h:260
rtw::vec2i
Definition: Types.h:81
RTW::OSPRayBackend::RemoveParam
void RemoveParam(RTWObject object, const char *id) override
Definition: OSPRayBackend.h:233
OSPFrameBuffer
#define OSPFrameBuffer
Definition: RTWrapper.h:25
RTW::OSPRayBackend::SetMaterial
void SetMaterial(RTWGeometry geometry, RTWMaterial material) override
Definition: OSPRayBackend.h:193
RTW::OSPRayBackend::Init
RTWError Init() override
Definition: OSPRayBackend.h:70
RTW::OSPRayBackend::FrameBufferClear
void FrameBufferClear(RTWFrameBuffer frameBuffer, const uint32_t frameBufferChannels) override
Definition: OSPRayBackend.h:255
OSPMaterial
#define OSPMaterial
Definition: RTWrapper.h:23
RTW_FB_RGBA8
@ RTW_FB_RGBA8
Definition: Types.h:18
RTW::OSPRayBackend::Set3i
void Set3i(RTWObject object, const char *id, int x, int y, int z) override
Definition: OSPRayBackend.h:218
ospSet4f
#define ospSet4f
Definition: RTWrapper.h:75
RTW::convert
OSPFrameBufferFormat convert(RTWFrameBufferFormat format)
Definition: OSPRayBackend.h:16
RTW_TEXTURE_L8
@ RTW_TEXTURE_L8
Definition: Types.h:47
RTW::OSPRayBackend::SetRegion
RTWError SetRegion(RTWVolume volume, void *source, const rtw::vec3i &regionCoords, const rtw::vec3i &regionSize) override
Definition: OSPRayBackend.h:238
RTW::OSPRayBackend::Set3f
void Set3f(RTWObject object, const char *id, float x, float y, float z) override
Definition: OSPRayBackend.h:223
ospNewGeometry
#define ospNewGeometry
Definition: RTWrapper.h:94
RTWMaterial
struct RTWHandle * RTWMaterial
Definition: Types.h:97
RTW_TEXTURE_RGB32F
@ RTW_TEXTURE_RGB32F
Definition: Types.h:44
RTWGeometry
struct RTWHandle * RTWGeometry
Definition: Types.h:96
OSP_TEXTURE_RGB8
#define OSP_TEXTURE_RGB8
Definition: RTWrapper.h:55
RTW_INSTANCING
@ RTW_INSTANCING
Definition: Types.h:112
ospAddVolume
#define ospAddVolume
Definition: RTWrapper.h:105
RTW_TEXTURE_SRGBA
@ RTW_TEXTURE_SRGBA
Definition: Types.h:40
ospNewFrameBuffer
#define ospNewFrameBuffer
Definition: RTWrapper.h:97
ospSet3i
#define ospSet3i
Definition: RTWrapper.h:70
RTWFrameBufferFormat
RTWFrameBufferFormat
Definition: Types.h:16
RTW::OSPRayBackend::SetData
void SetData(RTWObject object, const char *id, RTWData data) override
Definition: OSPRayBackend.h:188
vtkX3D::size
@ size
Definition: vtkX3D.h:259
RTW::OSPRayBackend::NewTransferFunction
RTWTransferFunction NewTransferFunction(const char *type) override
Definition: OSPRayBackend.h:131
RTWTransferFunction
struct RTWHandle * RTWTransferFunction
Definition: Types.h:100
OSP_FB_RGBA32F
#define OSP_FB_RGBA32F
Definition: RTWrapper.h:58
RTW_OPENGL_INTEROP
@ RTW_OPENGL_INTEROP
Definition: Types.h:110
RTW::OSPRayBackend::Commit
void Commit(RTWObject object) override
Definition: OSPRayBackend.h:245
ospSetRegion
#define ospSetRegion
Definition: RTWrapper.h:80
RTWTexture
struct RTWHandle * RTWTexture
Definition: Types.h:101
RTW_TEXTURE_SRGB
@ RTW_TEXTURE_SRGB
Definition: Types.h:43
RTW::OSPRayBackend::NewModel
RTWModel NewModel() override
Definition: OSPRayBackend.h:146
ospFrameBufferClear
#define ospFrameBufferClear
Definition: RTWrapper.h:99
ospSetMaterial
#define ospSetMaterial
Definition: RTWrapper.h:79
OSP_TEXTURE_RGBA8
#define OSP_TEXTURE_RGBA8
Definition: RTWrapper.h:56
ospNewTransferFunction
#define ospNewTransferFunction
Definition: RTWrapper.h:92
OSP_TEXTURE_R8
#define OSP_TEXTURE_R8
Definition: RTWrapper.h:54
RTW::OSPRayBackend::NewInstance
RTWGeometry NewInstance(RTWModel modelToInstantiate, const rtw::affine3f &transform) override
Definition: OSPRayBackend.h:151
RTW::OSPRayBackend::NewCamera
RTWCamera NewCamera(const char *type) override
Definition: OSPRayBackend.h:141
RTW::OSPRayBackend::RenderFrame
float RenderFrame(RTWFrameBuffer frameBuffer, RTWRenderer renderer, const uint32_t frameBufferChannels) override
Definition: OSPRayBackend.h:250
RTW_DEPTH_COMPOSITING
@ RTW_DEPTH_COMPOSITING
Definition: Types.h:114
RTW_DENOISER
@ RTW_DENOISER
Definition: Types.h:113
RTW::OSPRayBackend::NewGeometry
RTWGeometry NewGeometry(const char *type) override
Definition: OSPRayBackend.h:106
ospSetData
#define ospSetData
Definition: RTWrapper.h:77
OSPModel
#define OSPModel
Definition: RTWrapper.h:16
RTW::Backend
Definition: Backend.h:7
RTW_TEXTURE_RGB8
@ RTW_TEXTURE_RGB8
Definition: Types.h:42
RTW::OSPRayBackend::AddVolume
void AddVolume(RTWModel model, RTWVolume volume) override
Definition: OSPRayBackend.h:173
RTW::OSPRayBackend::GetDepthTextureGL
int GetDepthTextureGL(RTWFrameBuffer) override
Definition: OSPRayBackend.h:281
rtw::affine3f
Definition: Types.h:87
RTW_TEXTURE_LA8
@ RTW_TEXTURE_LA8
Definition: Types.h:49
rtw::vec3i
Definition: Types.h:82
RTW_TEXTURE_R32F
@ RTW_TEXTURE_R32F
Definition: Types.h:46
RTWData
struct RTWHandle * RTWData
Definition: Types.h:95
RTWTextureFormat
RTWTextureFormat
Definition: Types.h:37
RTW_TEXTURE_RGBA8
@ RTW_TEXTURE_RGBA8
Definition: Types.h:39
RTW_TEXTURE_RA8
@ RTW_TEXTURE_RA8
Definition: Types.h:48
RTW::OSPRayBackend::AddGeometry
void AddGeometry(RTWModel model, RTWGeometry geometry) override
Definition: OSPRayBackend.h:168
OSPRenderer
#define OSPRenderer
Definition: RTWrapper.h:15
ospMapFrameBuffer
#define ospMapFrameBuffer
Definition: RTWrapper.h:101
RTWRenderer
struct RTWHandle * RTWRenderer
Definition: Types.h:92
RTW::OSPRayBackend::SetDepthNormalizationGL
void SetDepthNormalizationGL(RTWFrameBuffer, float, float) override
Definition: OSPRayBackend.h:270
RTW::OSPRayBackend::NewRenderer
RTWRenderer NewRenderer(const char *type) override
Definition: OSPRayBackend.h:136
source
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
Definition: vtkBoostGraphAdapter.h:959
ospNewModel
#define ospNewModel
Definition: RTWrapper.h:95
RTW::OSPRayBackend::Set4f
void Set4f(RTWObject object, const char *id, float x, float y, float z, float w) override
Definition: OSPRayBackend.h:228
RTWError
RTWError
Definition: Types.h:6
RTW::OSPRayBackend::NewVolume
RTWVolume NewVolume(const char *type) override
Definition: OSPRayBackend.h:126
RTW::OSPRayBackend::NewFrameBuffer
RTWFrameBuffer NewFrameBuffer(const rtw::vec2i &size, const RTWFrameBufferFormat format, const uint32_t frameBufferChannels) override
Definition: OSPRayBackend.h:158
ospSet3f
#define ospSet3f
Definition: RTWrapper.h:73
RTW_ANIMATED_PARAMETERIZATION
@ RTW_ANIMATED_PARAMETERIZATION
Definition: Types.h:111
RTW::OSPRayBackend::NewLight3
RTWLight NewLight3(const char *light_type) override
Definition: OSPRayBackend.h:116
RTW::OSPRayBackend::NewMaterial2
RTWMaterial NewMaterial2(const char *renderer_type, const char *material_type) override
Definition: OSPRayBackend.h:121
ospCommit
#define ospCommit
Definition: RTWrapper.h:84
RTW::OSPRayBackend::UnmapFrameBuffer
void UnmapFrameBuffer(const void *mapped, RTWFrameBuffer frameBuffer) override
Definition: OSPRayBackend.h:265
RTW_FB_RGBA32F
@ RTW_FB_RGBA32F
Definition: Types.h:19
RTW::OSPRayBackend::NewTexture
RTWTexture NewTexture(const char *type) override
Definition: OSPRayBackend.h:111
OSP_TEXTURE_RGB32F
#define OSP_TEXTURE_RGB32F
Definition: RTWrapper.h:52
ospNewCamera
#define ospNewCamera
Definition: RTWrapper.h:88
RTWCamera
struct RTWHandle * RTWCamera
Definition: Types.h:93
RTW::OSPRayBackend::Set2i
void Set2i(RTWObject object, const char *id, int x, int y) override
Definition: OSPRayBackend.h:213
RTW::OSPRayBackend::SetString
void SetString(RTWObject object, const char *id, const char *s) override
Definition: OSPRayBackend.h:178
RTW::OSPRayBackend::Set2f
void Set2f(RTWObject object, const char *id, float x, float y) override
Definition: OSPRayBackend.h:208
OSP_TEXTURE_RGBA32F
#define OSP_TEXTURE_RGBA32F
Definition: RTWrapper.h:53
ospNewLight3
#define ospNewLight3
Definition: RTWrapper.h:89
RTWDataType
RTWDataType
Definition: Types.h:59