My Project
IsoSurfaceRenderable.h
1 #pragma once
2 #include "AssetEntity.h"
3 #include "DynamicRenderable.h"
4 #include <string>
5 #include "ShapeAABB.h"
6 
7 namespace ParaEngine
8 {
9  class IsoSurfaceBuilder;
10  class CEffectFile;
11 
16  {
17  public:
19  virtual ~IsoSurfaceRenderable() {};
20  void createVertexDeclaration();
21  void initialize(IsoSurfaceBuilder *builder);
22  virtual void fillHardwareBuffers(IsoSurfaceBuilder *surf);
23  virtual bool getNormaliseNormals(void) const {return true; }
24  virtual const CShapeAABB &getBoundingBox(void) const {return mAABB;}
25 
29  void SetTexture(TextureEntity* pTexture);
30 
31  void deleteGeometry();
32 
33  // Rendering with fixed function
34  HRESULT Render( SceneState * pSceneState, LPDIRECT3DDEVICE9 pd3dDevice);
35 
36  // Rendering with shader effect
37  HRESULT Render( SceneState * pSceneState, CEffectFile *pEffect);
38 
39  protected:
40  CShapeAABB mAABB;
43 
44  asset_ptr <TextureEntity> m_texture;
45  };
46 }
Which DXT Compression to Use? Obviously, there are some trade-offs between the different formats whic...
Definition: TextureEntity.h:29
Renderable object for the dynamically generated IsoSurface or voxel mesh.
Definition: IsoSurfaceRenderable.h:15
It&#39;s used as parameter to Draw method of each scene object.
Definition: SceneState.h:284
a base class for rendering objects using dynamic buffer from memory data.
Definition: DynamicRenderable.h:15
different physics engine has different winding order.
Definition: EventBinding.h:32
building triangles from 3d grid data.
Definition: IsoSurfaceBuilder.h:11
AABB-related code.
Definition: ShapeAABB.h:11
Definition: effect_file.h:323
void deleteGeometry()
Definition: IsoSurfaceRenderable.cpp:131
int mSurfaceFlags
Flags from IsoSurfaceBuilder used at initialize().
Definition: IsoSurfaceRenderable.h:42
void SetTexture(TextureEntity *pTexture)
set the material (texture) used by this isosurface it can be NULL to use the current texture ...
Definition: IsoSurfaceRenderable.cpp:197