APEX Framework: TurbulenceRenderable.h Source File

NVIDIA APEX

TurbulenceRenderable.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 TURBULENCE_RENDERABLE_H
00013 #define TURBULENCE_RENDERABLE_H
00014 
00015 #include "foundation/Px.h"
00016 #include "ApexInterface.h"
00017 #include "Renderable.h"
00018 #include "TurbulenceRenderCallback.h"
00019 
00020 namespace nvidia
00021 {
00022 namespace apex
00023 {
00024 
00025 PX_PUSH_PACK_DEFAULT
00026 
00030 struct TurbulenceFieldType
00031 {
00035     enum Enum
00036     {
00037         VELOCITY = 0,
00038         DENSITY,
00039         FLAME,
00040 
00041         MAX_COUNT
00042     };
00043 };
00044 
00048 struct TurbulenceRenderData
00049 {
00051     UserRenderSurfaceDesc   fieldSurfaceDescs[TurbulenceFieldType::MAX_COUNT];
00052     
00054     UserRenderSurface*      fieldSurfaces[TurbulenceFieldType::MAX_COUNT];
00055 };
00056 
00062 class TurbulenceRenderable : public ApexInterface
00063 {
00064 public:
00066     virtual const TurbulenceRenderData* getRenderData() const = 0;
00067 
00069     virtual const physx::PxBounds3&     getBounds() const = 0;
00070 
00071 protected:
00072     virtual ~TurbulenceRenderable() {}
00073 
00074 };
00075 
00076 PX_POP_PACK
00077 
00078 }
00079 } // end namespace nvidia
00080 
00081 #endif // TURBULENCE_RENDERABLE_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.