diff options
Diffstat (limited to 'APEX_1.4/include/Renderable.h')
| -rw-r--r-- | APEX_1.4/include/Renderable.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/APEX_1.4/include/Renderable.h b/APEX_1.4/include/Renderable.h new file mode 100644 index 00000000..6ac89bc9 --- /dev/null +++ b/APEX_1.4/include/Renderable.h @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2008-2015, NVIDIA CORPORATION. All rights reserved. + * + * NVIDIA CORPORATION and its licensors retain all intellectual property + * and proprietary rights in and to this software, related documentation + * and any modifications thereto. Any use, reproduction, disclosure or + * distribution of this software and related documentation without an express + * license agreement from NVIDIA CORPORATION is strictly prohibited. + */ + + +#ifndef RENDERABLE_H +#define RENDERABLE_H + +/*! +\file +\brief class Renderable +*/ + +#include "RenderDataProvider.h" + +namespace nvidia +{ +namespace apex +{ + +class UserRenderer; + +PX_PUSH_PACK_DEFAULT + +/** +\brief Base class of any actor that can be rendered + */ +class Renderable : public RenderDataProvider +{ +public: + /** + When called, this method will use the UserRenderer interface to render itself (if visible, etc) + by calling renderer.renderResource( RenderContext& ) as many times as necessary. See locking + semantics for RenderDataProvider::lockRenderResources(). + */ + virtual void dispatchRenderResources(UserRenderer& renderer) = 0; + + /** + Returns AABB covering rendered data. The actor's world bounds is updated each frame + during Scene::fetchResults(). This function does not require the Renderable actor to be locked. + */ + virtual PxBounds3 getBounds() const = 0; +}; + +PX_POP_PACK + +} +} // end namespace nvidia::apex + +#endif |