102 void applyDefaults(
void);
128 void insertSupportedTechnique(
Technique* t);
132 void clearBestTechniqueList(
void);
136 void prepareImpl(
void);
140 void unprepareImpl(
void);
150 void unloadImpl(
void);
168 bool isTransparent(
void)
const;
215 Technique* getTechnique(
unsigned short index);
221 unsigned short getNumTechniques(
void)
const;
223 void removeTechnique(
unsigned short index);
225 void removeAllTechniques(
void);
238 Technique* getSupportedTechnique(
unsigned short index);
240 unsigned short getNumSupportedTechniques(
void)
const;
249 unsigned short getNumLodLevels(
unsigned short schemeIndex)
const;
255 unsigned short getNumLodLevels(
const String& schemeName)
const;
304 void compile(
bool autoManageTextureUnits =
true);
320 void setPointSize(
Real ps);
397 void setShininess(
Real val);
408 void setSelfIllumination(
Real red,
Real green,
Real blue);
419 void setSelfIllumination(
const ColourValue& selfIllum);
430 void setDepthCheckEnabled(
bool enabled);
441 void setDepthWriteEnabled(
bool enabled);
463 void setColourWriteEnabled(
bool enabled);
496 void setLightingEnabled(
bool enabled);
522 Real expDensity = 0.001,
Real linearStart = 0.0,
Real linearEnd = 1.0 );
533 void setDepthBias(
float constantBias,
float slopeScaleBias);
552 void setTextureAnisotropy(
int maxAniso);
599 void _notifyNeedsRecompile(
void);
615 void setLodLevels(
const LodValueList& lodValues);
623 LodValueIterator getLodValueIterator(
void)
const;
641 if (mCompilationRequired)
665 return mCompilationRequired;
702 if (pRep == static_cast<Material*>(r.
getPointer()))
720 assert(r.
isNull() &&
"RHS must be null if it has no mutex!");
Techniques mSupportedTechniques
Supported techniques of any sort.
String mUnsupportedReasons
Text description of why any techniques are not supported.
const String & getUnsupportedTechniquesExplanation() const
Gets a string explaining why any techniques are not supported.
ManualCullingMode
Manual culling modes based on vertex normals.
float Real
Software floating point type.
#define OGRE_MUTEX_CONDITIONAL(name)
Class representing colour.
static const ColourValue White
MaterialPtr(Material *rep)
Manages the organisation and rendering of a 'scene' i.e.
vector< Technique * >::type Techniques
VectorIterator< Techniques > TechniqueIterator
void setReceiveShadows(bool enabled)
Sets whether objects using this material will receive shadows.
SceneBlendType
Types of blending that you can specify between an object and the existing contents of the scene...
Class encapsulates rendering properties of an object.
const LodStrategy * mLodStrategy
Interface describing a manual resource loader.
Class representing an approach to rendering this particular Material.
Strategy for determining level of detail.
vector< Real >::type LodValueList
distance list used to specify LOD
SceneBlendFactor
Blending factors for manually blending objects with the scene.
ConstVectorIterator< LodValueList > LodValueIterator
CullingMode
Hardware culling modes based on vertex winding.
Abstract class defining the interface all renderable objects must implement.
bool getTransparencyCastsShadows(void) const
Returns whether or not objects using this material be classified as opaque to the shadow caster syste...
Class for managing Material settings for Ogre.
bool mTransparencyCastsShadows
virtual void touch(void)
'Touches' the resource to indicate it has been used.
ShadeOptions
Light shading modes.
void setTransparencyCastsShadows(bool enabled)
Sets whether objects using this material be classified as opaque to the shadow caster system...
Concrete IteratorWrapper for const access to the underlying container.
MaterialPtr(const ResourcePtr &r)
size_t calculateSize(void) const
Calculate the size of a resource; this will only be called after 'load'.
MaterialPtr & operator=(const ResourcePtr &r)
Operator used to convert a ResourcePtr to a MaterialPtr.
std::map< K, V, P, A > type
Abstract class representing a loadable resource (e.g.
unsigned long long int ResourceHandle
static const String BLANK
Constant blank string, useful for returning by ref where local does not exist.
#define OGRE_LOCK_MUTEX(name)
Defines a generic resource handler.
unsigned int * useCountPointer() const
void touch(void)
'Touches' the resource to indicate it has been used.
Reference-counted shared pointer, used for objects where implicit destruction is required.
LodValueList mUserLodValues
Techniques mTechniques
All techniques, supported and unsupported.
Specialisation of SharedPtr to allow SharedPtr to be assigned to MaterialPtr.
Concrete IteratorWrapper for nonconst access to the underlying container.
map< String, String >::type AliasTextureNamePairList
Alias / Texture name pair (first = alias, second = texture name)
CompareFunction
Comparison functions used for the depth/stencil buffer operations and others.
map< unsigned short, LodTechniques * >::type BestTechniquesBySchemeList
BestTechniquesBySchemeList mBestTechniquesBySchemeList
Map of scheme -> list of LOD techniques.
#define OGRE_COPY_AUTO_SHARED_MUTEX(from)
bool getCompilationRequired() const
Gets the compilation status of the material.
bool getReceiveShadows(void) const
Returns whether or not objects using this material will receive shadows.
TextureFilterOptions
High-level filtering options providing shortcuts to settings the minification, magnification and mip ...
bool mCompilationRequired
Does this material require compilation?
map< unsigned short, Technique * >::type LodTechniques
MaterialPtr(const MaterialPtr &r)