29 #ifndef __Ogre_TerrainMaterialGenerator_H__
30 #define __Ogre_TerrainMaterialGenerator_H__
83 return source == e.
source &&
92 : source(src), semantic(sem), elementStart(elemStart), elementCount(elemCount)
115 : alias(aliasName), format(fmt)
169 : mParent(parent), mName(name), mDesc(desc) {}
171 : mParent(prof.mParent), mName(prof.mName), mDesc(prof.mDesc) {}
180 virtual bool isVertexCompressionSupported()
const = 0;
186 virtual void setLightmapEnabled(
bool enabled) = 0;
188 virtual uint8 getMaxLayers(
const Terrain* terrain)
const = 0;
190 virtual void updateCompositeMap(
const Terrain* terrain,
const Rect& rect);
195 virtual void updateParamsForCompositeMap(
const MaterialPtr& mat,
const Terrain* terrain) = 0;
198 virtual void requestOptions(
Terrain* terrain) = 0;
215 if (!mActiveProfile || mActiveProfile->getName() != name)
217 for (ProfileList::iterator i = mProfiles.begin(); i != mProfiles.end(); ++i)
219 if ((*i)->getName() == name)
221 setActiveProfile(*i);
232 if (mActiveProfile != p)
242 if (!mActiveProfile && !mProfiles.empty())
243 mActiveProfile = mProfiles[0];
245 return mActiveProfile;
267 return decl == mLayerDecl;
275 return getActiveProfile()->isVertexCompressionSupported();
282 Profile* p = getActiveProfile();
291 Profile* p = getActiveProfile();
301 Profile* p = getActiveProfile();
312 Profile* p = getActiveProfile();
321 Profile* p = getActiveProfile();
336 Profile* p = getActiveProfile();
348 Profile* p = getActiveProfile();
356 Profile* p = getActiveProfile();
371 if (mDebugLevel != dbg)
386 virtual void _renderCompositeMap(
size_t size,
const Rect& rect,