2 #include "TextureEntity.h" 3 #include "SpriteFontEntity.h" 4 #include "DatabaseEntity.h" 5 #include "ParaXEntity.h" 6 #include "MeshEntity.h" 7 #include "MiscEntity.h" 8 #include "SequenceManager.h" 9 #include "DynamicVertexBufferManager.h" 10 #include "effect_file.h" 11 #include "EffectManager.h" 13 #ifdef USE_DIRECTX_RENDERER 14 #include "HTMLBrowserManager.h" 15 #ifdef USE_FLASH_MANAGER 16 #include "FlashTextureManager.h" 18 #include "VoxelMesh/VoxelTerrainManager.h" 19 #include "CadModel/CadModel.h" 23 class LatentOcclusionQueryBank;
29 class CVertexBufferPoolManager;
30 class BufferPickingManager;
31 struct CBufferPicking;
55 virtual int GetChildAttributeObjectCount(
int nColumnIndex = 0);
57 virtual int GetChildAttributeColumnCount();
58 virtual IAttributeFields* GetChildAttributeObject(
int nRowIndex,
int nColumnIndex = 0);
62 ATTRIBUTE_METHOD1(
CParaWorldAsset, IsAsyncLoading_s,
bool*) { *p1 = cls->IsAsyncLoading();
return S_OK; }
63 ATTRIBUTE_METHOD1(
CParaWorldAsset, SetAsyncLoading_s,
bool) { cls->SetAsyncLoading(p1);
return S_OK; }
65 ATTRIBUTE_METHOD1(
CParaWorldAsset, IsAssetManifestEnabled_s,
bool*) { *p1 = cls->IsAssetManifestEnabled();
return S_OK; }
66 ATTRIBUTE_METHOD1(
CParaWorldAsset, EnableAssetManifest_s,
bool) { cls->EnableAssetManifest(p1);
return S_OK; }
68 ATTRIBUTE_METHOD1(
CParaWorldAsset, IsUseLocalFileFirst_s,
bool*) { *p1 = cls->IsUseLocalFileFirst();
return S_OK; }
69 ATTRIBUTE_METHOD1(
CParaWorldAsset, SetUseLocalFileFirst_s,
bool) { cls->SetUseLocalFileFirst(p1);
return S_OK; }
71 ATTRIBUTE_METHOD(
CParaWorldAsset, DeleteTempDiskTextures_s) { cls->DeleteTempDiskTextures();
return S_OK; }
90 SpriteFontEntity* LoadGDIFont(
const string& sIdentifier,
const string& pstrFont, DWORD dwSize,
bool bIsBold =
true);
94 DatabaseEntity* LoadDatabase(
const string& sIdentifier,
const string& fileName);
97 MeshEntity* GetMesh(
const string& sIdentifier);
98 MeshEntity* LoadMesh(
const string& sIdentifier,
const string& sMeshFileName);
102 ParaXEntity* LoadParaX(
const string& sIdentifier,
const string& fileName);
109 EffectManager& GetEffectManager(){
return m_EffectsManager; };
110 CEffectFile* LoadEffectFile(
const string& sIdentifier,
const string& sEffectFile);
118 #ifdef USE_DIRECTX_RENDERER 121 #ifdef USE_FLASH_MANAGER 125 D3DXSpriteEntity* GetD3DXSprite(
const string& sIdentifier);
126 CadModel* LoadCadModel(
const string& sIdentifier,
const string& sMeshFileName);
128 D3DXSpriteEntity* LoadD3DXSprite(
const string& sIdentifier,
int nFrames,
int nRow,
int nCol);
133 void CreateXFileParser(LPD3DXFILE* ppParser);
135 LPD3DXFILE GetParaXFileParser();
137 LPDIRECT3DVERTEXBUFFER9 GetShadowSquareVB(){
return m_pShadowSquareVB; }
140 LPDIRECT3DQUERY9 GetOcclusionQuery(){
return m_pOcclusionQuery; }
155 int PrintToFile(
CParaFile* pOutputFile, DWORD dwSelection = 0xffffffff);
162 bool RefreshAsset(
const char* filename);
168 void RenderFrameMove(
float fElapsedTime);
181 bool UnloadAssetByKeyName(
const string& keyname);
184 void GarbageCollectAll();
188 HRESULT InitDeviceObjects();
189 HRESULT RestoreDeviceObjects();
190 HRESULT InvalidateDeviceObjects();
191 HRESULT DeleteDeviceObjects();
195 HRESULT RendererRecreated();
207 bool DoAssetSearch(
string& AssetFile,
const char* searchDir);
210 void CreateAttributeModel();
213 bool IsAsyncLoading()
const;
214 void SetAsyncLoading(
bool val);
217 bool IsAssetManifestEnabled()
const;
218 void EnableAssetManifest(
bool val);
221 bool IsUseLocalFileFirst()
const;
222 void SetUseLocalFileFirst(
bool val);
224 void SaveAssetFileMapping();
225 void DeleteTempDiskTextures();
228 typedef boost::signals2::signal<void()> DeviceEvent_Callback_t;
230 DeviceEvent_Callback_t OnInitDeviceObjects;
231 DeviceEvent_Callback_t OnRestoreDeviceObjects;
232 DeviceEvent_Callback_t OnInvalidateDeviceObjects;
233 DeviceEvent_Callback_t OnDeleteDeviceObjects;
234 DeviceEvent_Callback_t OnRendererRecreated;
235 DeviceEvent_Callback_t OnCleanup;
256 vector<IAttributeFields*> m_attribute_models;
261 bool m_bAsyncLoading;
263 #ifdef USE_DIRECTX_RENDERER 264 LPDIRECT3DVERTEXBUFFER9 m_pShadowSquareVB;
268 LPDIRECT3DQUERY9 m_pOcclusionQuery;
269 vector<LatentOcclusionQueryBank*> m_pOcclusionQueryBanks;
272 #ifdef USE_FLASH_MANAGER 278 LPD3DXFILE m_pDXFile;
Which DXT Compression to Use? Obviously, there are some trade-offs between the different formats whic...
Definition: TextureEntity.h:29
an attribute class is a collection of attribute fields.
Definition: AttributeClass.h:10
all picking buffers There is a default one called BufferPickingManager::GetInstance().GetEntity("backbuffer"); which is the current backbuffer Some predefined picking object can be retrieved via NPL script using
Definition: BufferPicking.h:143
picking from frame buffer (back buffer) When there is picking query, it will render scene again (if o...
Definition: BufferPicking.h:16
different physics engine has different winding order.
Definition: EventBinding.h:32
normal managed texture, with all mip-mapping level created
Definition: TextureEntity.h:61
bool m_bUseAssetSearch
this will be set to true when the manager class is created if there is a fill called temp/assetmap...
Definition: ParaWorldAsset.h:245
managing all voxel terrain entities used by any scenes
Definition: VoxelTerrainManager.h:13
When use DirectX, this is a real dynamic vertex buffer for rendering dynamic mesh When use OpenGL...
Definition: DynamicVertexBufferEntityDirectX.h:11
AssetManager manages a set of asset entities of a certain type.
Definition: AssetManager.h:13
a reusable entity of sequence which contains an array of sequence items.
Definition: SequenceEntity.h:11
buffer manager
Definition: DynamicVertexBufferManager.h:7
DynamicVBAssetType
ID of dynamic vertex buffer asset.
Definition: DynamicVertexBufferEntity.h:14
Definition: ParaXEntity.h:9
_SurfaceType
Definition: TextureEntity.h:55
Definition: effect_file.h:323
This is a bank of occlusion queries.
Definition: OcclusionQueryBank.h:48
A common interface for all classes implementing IAttributeFields By implementing this class's virtual...
Definition: IAttributeFields.h:59
it presents a real or virtual file in ParaEngine.
Definition: ParaFile.h:31
MeshEntity distinguish one template from other.
Definition: MeshEntity.h:38
manager all effects file used by the game engine.
Definition: EffectManager.h:16
managing HTML browsers.
Definition: HTMLBrowserManager.h:137
a manger of sequences
Definition: ParaVertexBufferPool.h:80
the asset manager class in ParaEngine.
Definition: ParaWorldAsset.h:44
a manger of sequences
Definition: SequenceManager.h:9
DataBaseEntity distinguish one template from other TODO: I should wrap the SQLite3 interface in Datab...
Definition: DatabaseEntity.h:12
map< string, string > m_AssetMap
this is only used when m_bUseAssetSearch is true.
Definition: ParaWorldAsset.h:252
managing flash textures.
Definition: FlashTextureManager.h:295
Definition: CadModel.h:77
Definition: SpriteFontEntity.h:26