ModuleParticles.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_PARTICLES_H 00013 #define MODULE_PARTICLES_H 00014 00015 #include "Apex.h" 00016 00017 00018 namespace nvidia 00019 { 00020 00021 00022 namespace apex 00023 { 00024 00025 PX_PUSH_PACK_DEFAULT 00026 00027 class Module; 00028 class Scene; 00029 class EffectPackageActor; 00064 class ModuleParticles : public Module 00065 { 00066 public: 00067 00071 virtual nvidia::apex::Module* getModule(const char* moduleName) = 0; 00072 00083 virtual bool setEffectPackageGraphicsMaterialsDatabase(const NvParameterized::Interface* dataBase) = 0; 00084 00095 virtual bool setEffectPackageIOSDatabase(const NvParameterized::Interface* dataBase) = 0; 00096 00107 virtual bool setEffectPackageIOFXDatabase(const NvParameterized::Interface* dataBase) = 0; 00108 00119 virtual bool setEffectPackageEmitterDatabase(const NvParameterized::Interface* dataBase) = 0; 00120 00131 virtual bool setEffectPackageDatabase(const NvParameterized::Interface* dataBase) = 0; 00132 00143 virtual bool setEffectPackageFieldSamplerDatabase(const NvParameterized::Interface* dataBase) = 0; 00144 00148 virtual const NvParameterized::Interface* getEffectPackageGraphicsMaterialsDatabase() const = 0; 00149 00153 virtual const NvParameterized::Interface* getEffectPackageIOSDatabase() const = 0; 00154 00158 virtual const NvParameterized::Interface* getEffectPackageIOFXDatabase() const = 0; 00159 00163 virtual const NvParameterized::Interface* getEffectPackageEmitterDatabase() const = 0; 00164 00168 virtual const NvParameterized::Interface* getEffectPackageDatabase() const = 0; 00169 00173 virtual const NvParameterized::Interface* getEffectPackageFieldSamplerDatabase() const = 0; 00174 00186 virtual const NvParameterized::Interface* locateGraphicsMaterialData(const char* name) const = 0; 00187 00198 virtual NvParameterized::Interface* locateResource(const char* resourceName, 00199 const char* nameSpace) = 0; 00200 00201 00211 virtual const char** getResourceNames(const char* nameSpace, uint32_t& nameCount, const char** &variants) = 0; 00212 00222 virtual void setEnableScreenCulling(bool state, bool znegative) = 0; 00223 00227 virtual void resetEmitterPool() = 0; 00228 00238 virtual void setUseEmitterPool(bool state) = 0; 00239 00243 virtual bool getUseEmitterPool() const = 0; 00244 00248 virtual void initializeDefaultDatabases() = 0; 00249 00250 protected: 00251 virtual ~ModuleParticles() {} 00252 }; 00253 00254 #if !defined(_USRDLL) 00255 00259 void instantiateModuleParticles(); 00260 #endif 00261 00262 00263 PX_POP_PACK 00264 00265 } 00266 } // end namespace nvidia 00267 00268 #endif // MODULE_PARTICLES_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.