Material.pkg 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. $#include "Material.h"
  2. /// Describes how to render 3D geometries.
  3. class Material : public Resource
  4. {
  5. public:
  6. /// Return number of techniques.
  7. unsigned GetNumTechniques() const;
  8. /// Return technique entry by index.
  9. const TechniqueEntry& GetTechniqueEntry(unsigned index) const;
  10. /// Return technique by index.
  11. Technique* GetTechnique(unsigned index) const;
  12. /// Return pass by technique index and pass type.
  13. Pass* GetPass(unsigned index, StringHash passType) const;
  14. /// Return texture by unit.
  15. Texture* GetTexture(TextureUnit unit) const;
  16. /// Return shader parameter.
  17. const Vector4& GetShaderParameter(const String& name) const;
  18. /// Return normal culling mode.
  19. CullMode GetCullMode() const;
  20. /// Return culling mode for shadows.
  21. CullMode GetShadowCullMode() const;
  22. /// Return depth bias.
  23. const BiasParameters& GetDepthBias() const;
  24. /// Return last auxiliary view rendered frame number.
  25. unsigned GetAuxViewFrameNumber() const;
  26. /// Return whether should render occlusion.
  27. bool GetOcclusion() const;
  28. /// Return whether should render specular.
  29. bool GetSpecular() const;
  30. /// Return name for texture unit.
  31. static String GetTextureUnitName(TextureUnit unit);
  32. };