OptiX  3.9
NVIDIA OptiX Acceleration Engine
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
optixpp.h
1 
2 /*
3  * Copyright (c) 2008 - 2010 NVIDIA Corporation. All rights reserved.
4  *
5  * NVIDIA Corporation and its licensors retain all intellectual property and proprietary
6  * rights in and to this software, related documentation and any modifications thereto.
7  * Any use, reproduction, disclosure or distribution of this software and related
8  * documentation without an express license agreement from NVIDIA Corporation is strictly
9  * prohibited.
10  *
11  * TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS*
12  * AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED,
13  * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
14  * PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY
15  * SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT
16  * LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF
17  * BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR
18  * INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF
19  * SUCH DAMAGES
20  */
21 
22 #ifndef __optixu_optixpp_h__
23 #define __optixu_optixpp_h__
24 
25 /*
26  optixpp.h used to include optix_math.h, so we include it here for backward
27  compatibility. Please include optixpp_namespace.h and optixu_math_namespace.h separately
28  in the future.
29 
30  This needs to be included first in order to make sure the CUDA vector types are defined
31  in the global namespace necessary to maintain backward compatibility.
32 
33 */
34 
35 #include "optixu_math.h"
36 
37 #include "optixpp_namespace.h"
38 
39 /*
40  * optixpp's classes origninally were in the optixu namespace but have subsequently been
41  * moved to the optix namespace. For backward compatibility we provide the optixu
42  * namespace here.
43  */
44 
45 namespace optixu {
46 
48  using optix::BufferObj;
49  using optix::ContextObj;
50  using optix::GeometryObj;
53  using optix::GroupObj;
54  using optix::MaterialObj;
55  using optix::ProgramObj;
57  using optix::SelectorObj;
59  using optix::TransformObj;
60  using optix::VariableObj;
61 
62  using optix::APIObj;
64  using optix::ScopedObj;
65 
66  using optix::Handle;
67 
68  using optix::Acceleration;
69  using optix::Buffer;
70  using optix::Context;
71  using optix::Geometry;
74  using optix::Group;
75  using optix::Material;
76  using optix::Program;
77  using optix::RemoteDevice;
78  using optix::Selector;
80  using optix::Transform;
81  using optix::Variable;
82 
83  using optix::Exception;
84 
85  using optix::bufferId;
86 } /* end namespace optixu */
87 
88 
89 #endif /* __optixu_optixpp_h__ */
90 
91 
TextureSampler wraps the OptiX C API RTtexturesampler opaque type and its associated function set...
Definition: optixpp_namespace.h:1414
Base class for all objects which are OptiX variable containers.
Definition: optixpp_namespace.h:347
Transform wraps the OptiX C API RTtransform opaque type and its associated function set...
Definition: optixpp_namespace.h:1075
Exception class for error reporting from the OptiXpp API.
Definition: optixpp_namespace.h:212
Base class for all wrapper objects which can be destroyed and validated.
Definition: optixpp_namespace.h:320
Selector wraps the OptiX C API RTselector opaque type and its associated function set...
Definition: optixpp_namespace.h:1116
Group wraps the OptiX C API RTgroup opaque type and its associated function set.
Definition: optixpp_namespace.h:954
bufferId is a host version of the device side bufferId.
Definition: optix_device.h:415
Acceleration wraps the OptiX C API RTacceleration opaque type and its associated function set...
Definition: optixpp_namespace.h:1187
A C++ wrapper around the OptiX API.
RemoteDevice wraps the OptiX C API RTremotedevice opaque type and its associated function set...
Definition: optixpp_namespace.h:1841
Context object wraps the OptiX C API RTcontext opaque type and its associated function set...
Definition: optixpp_namespace.h:593
Material wraps the OptiX C API RTmaterial opaque type and its associated function set...
Definition: optixpp_namespace.h:1370
GeometryGroup wraps the OptiX C API RTgeometrygroup opaque type and its associated function set...
Definition: optixpp_namespace.h:1016
GeometryInstance wraps the OptiX C API RTgeometryinstance acceleration opaque type and its associated...
Definition: optixpp_namespace.h:1247
Program object wraps the OptiX C API RTprogram opaque type and its associated function set...
Definition: optixpp_namespace.h:920
Buffer wraps the OptiX C API RTbuffer opaque type and its associated function set.
Definition: optixpp_namespace.h:1529
The Handle class is a reference counted handle class used to manipulate API objects.
Definition: optixpp_namespace.h:92
Geometry wraps the OptiX C API RTgeometry opaque type and its associated function set...
Definition: optixpp_namespace.h:1300
Variable object wraps OptiX C API RTvariable type and its related function set.
Definition: optixpp_namespace.h:387
Base class for all reference counted wrappers around OptiX C API opaque types.
Definition: optixpp_namespace.h:269