28 #ifndef __Technique_H__
29 #define __Technique_H__
59 IPS_COMPILE_DISABLED = -1,
83 void clearIlluminationPasses(
void);
85 bool checkManuallyOrganisedIlluminationPasses();
129 : vendor(
GPU_UNKNOWN), includeOrExclude(EXCLUDE) {}
131 : vendor(v), includeOrExclude(ie) {}
140 : includeOrExclude(EXCLUDE), caseSensitive(false) {}
142 : devicePattern(pattern), includeOrExclude(ie), caseSensitive(caseSen) {}
160 bool isSupported(
void)
const;
164 String _compile(
bool autoManageTextureUnits);
170 void _compileIlluminationPasses(
void);
171 size_t calculateSize(
void)
const;
183 Pass* createPass(
void);
185 Pass* getPass(
unsigned short index);
191 unsigned short getNumPasses(
void)
const;
193 void removePass(
unsigned short index);
195 void removeAllPasses(
void);
199 bool movePass(
const unsigned short sourceIndex,
const unsigned short destinationIndex);
213 const String& getResourceGroup(
void)
const;
223 bool isTransparent(
void)
const;
230 bool isTransparentSortingEnabled(
void)
const;
237 bool isTransparentSortingForced(
void)
const;
242 void _unprepare(
void);
249 bool isLoaded(
void)
const;
252 void _notifyNeedsRecompile(
void);
271 void setShadowReceiverMaterial(
const Ogre::String &name);
286 void setPointSize(
Real ps);
356 void setShininess(
Real val);
366 void setSelfIllumination(
Real red,
Real green,
Real blue);
376 void setSelfIllumination(
const ColourValue& selfIllum);
386 void setDepthCheckEnabled(
bool enabled);
396 void setDepthWriteEnabled(
bool enabled);
416 void setColourWriteEnabled(
bool enabled);
446 void setLightingEnabled(
bool enabled);
470 Real expDensity = 0.001,
Real linearStart = 0.0,
Real linearEnd = 1.0 );
480 void setDepthBias(
float constantBias,
float slopeScaleBias);
499 void setTextureAnisotropy(
unsigned int maxAniso);
557 void setLodIndex(
unsigned short index);
578 void setSchemeName(
const String& schemeName);
582 const String& getSchemeName(
void)
const;
585 unsigned short _getSchemeIndex(
void)
const;
588 bool isDepthWriteEnabled(
void)
const;
591 bool isDepthCheckEnabled(
void)
const;
594 bool hasColourWriteDisabled(
void)
const;
601 void setName(
const String& name);
634 void addGPUVendorRule(
GPUVendor vendor, IncludeOrExclude includeOrExclude);
648 void addGPUVendorRule(
const GPUVendorRule& rule);
652 void removeGPUVendorRule(
GPUVendor vendor);
674 void addGPUDeviceNameRule(
const String& devicePattern,
IncludeOrExclude includeOrExclude,
bool caseSensitive =
false);
693 void removeGPUDeviceNameRule(
const String& devicePattern);