Go to the documentation of this file.
29 #ifndef __Ogre_TerrainLodManager_H__
30 #define __Ogre_TerrainLodManager_H__
64 , currentPreparedLod(preparedLod)
65 , currentLoadedLod(loadedLod)
66 , requestedLod(target)
124 return mLodInfoTable[lodLevel];
void fillBufferAtLod(uint lodLevel, const float *data, uint dataSize)
Copy geometry data from buffer to mHeightData/mDeltaData.
vector< float >::type LodData
Interface to a general purpose request / response style background work queue.
Superclass for all objects that wish to use custom memory allocators when their new / delete operator...
General purpose request structure.
virtual bool canHandleResponse(const WorkQueue::Response *res, const WorkQueue *srcQ)
Return whether this handler can process a given response.
LoadLodRequest(TerrainLodManager *r, uint16 preparedLod, uint16 loadedLod, uint16 target)
int getHighestLodPrepared()
virtual void handleResponse(const WorkQueue::Response *res, const WorkQueue *srcQ)
The handler method every subclass must implement.
int mHighestLodPrepared
Which LOD level is demanded.
static void separateData(float *data, uint16 size, uint16 numLodLevels, LodsData &lods)
Separate geometry data by LOD level.
#define _OgreTerrainExport
static void saveLodData(StreamSerialiser &stream, Terrain *terrain)
Save each LOD level separately compressed so seek is possible.
virtual bool canHandleRequest(const WorkQueue::Request *req, const WorkQueue *srcQ)
Return whether this handler can process a given request.
The main containing class for a chunk of terrain.
Terrain LOD data manager.
General purpose response structure.
LodInfo & getLodInfo(uint lodLevel)
bool mLastRequestSynchronous
Is increaseLodLevel() running?
virtual ~TerrainLodManager()
static const uint16 WORKQUEUE_LOAD_LOD_DATA_REQUEST
void updateToLodLevel(int lodLevel, bool synchronous=false)
Interface definition for a handler of responses.
bool mIncreaseLodLevelInProgress
Highest LOD level loaded in GPU.
TerrainLodManager(Terrain *t, DataStreamPtr &stream)
TerrainLodManager(Terrain *t, const String &filename="")
int mHighestLodLoaded
Highest LOD level stored in memory i.e. mHeightData/mDeltaData.
void waitForDerivedProcesses()
static const uint16 TERRAINLODDATA_CHUNK_VERSION
void readLodData(uint16 lowerLodBound, uint16 higherLodBound)
Read separated geometry data from file into allocated memory.
int getHighestLodLoaded()
Utility class providing helper methods for reading / writing structured data held in a DataStream.
static const uint32 TERRAINLODDATA_CHUNK_ID
vector< LodData >::type LodsData
Interface definition for a handler of requests.
virtual WorkQueue::Response * handleRequest(const WorkQueue::Request *req, const WorkQueue *srcQ)
The handler method every subclass must implement.
TerrainLodManager * requestee
_OgreTerrainExport friend std::ostream & operator<<(std::ostream &o, const LoadLodRequest &r)
uint16 currentPreparedLod
DataStreamPtr mDataStream
Copyright © 2012 Torus Knot Software Ltd

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.