ModuleIofx.h
00001 /* 00002 * Copyright (c) 2008-2017, NVIDIA CORPORATION. All rights reserved. 00003 * 00004 * NVIDIA CORPORATION and its licensors retain all intellectual property 00005 * and proprietary rights in and to this software, related documentation 00006 * and any modifications thereto. Any use, reproduction, disclosure or 00007 * distribution of this software and related documentation without an express 00008 * license agreement from NVIDIA CORPORATION is strictly prohibited. 00009 */ 00010 00011 00012 #ifndef MODULE_IOFX_H 00013 #define MODULE_IOFX_H 00014 00015 #include "Apex.h" 00016 #include "TestBase.h" 00017 00018 namespace nvidia 00019 { 00020 namespace apex 00021 { 00022 00023 PX_PUSH_PACK_DEFAULT 00024 00025 class IofxAsset; 00026 class IofxAssetAuthoring; 00027 class RenderVolume; 00028 class IofxRenderCallback; 00029 class IofxRenderable; 00030 00031 00035 class IofxRenderableIterator : public ApexInterface 00036 { 00037 public: 00038 00040 virtual IofxRenderable* getFirst() = 0; 00041 00043 virtual IofxRenderable* getNext() = 0; 00044 }; 00045 00046 00054 class ModuleIofx : public Module 00055 { 00056 protected: 00057 virtual ~ModuleIofx() {} 00058 00059 public: 00061 virtual void disableCudaInterop() = 0; 00062 00064 virtual void disableCudaModifiers() = 0; 00065 00071 virtual void disableDeferredRenderableAllocation() = 0; 00072 00079 virtual RenderVolume* createRenderVolume(const Scene& apexScene, const PxBounds3& b, uint32_t priority, bool allIofx) = 0; 00080 00087 virtual void releaseRenderVolume(RenderVolume& volume) = 0; 00088 00090 virtual const TestBase* getTestBase(Scene* apexScene) const = 0; 00091 00096 virtual bool setIofxRenderCallback(const Scene& apexScene, IofxRenderCallback* ) = 0; 00097 00102 virtual IofxRenderCallback* getIofxRenderCallback(const Scene& apexScene) const = 0; 00103 00107 virtual IofxRenderableIterator* createIofxRenderableIterator(const Scene&) = 0; 00108 00112 virtual void prepareRenderables(const Scene&) = 0; 00113 }; 00114 00115 00116 PX_POP_PACK 00117 00118 } 00119 } // namespace nvidia 00120 00121 #endif // MODULE_IOFX_H
Generated on Fri Dec 15 2017 13:58:35 Copyright © 2012-2017 NVIDIA Corporation, 2701 San Tomas Expressway, Santa Clara, CA 95050 U.S.A. All rights reserved.