Technique.pkg 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. $#include "Graphics/Technique.h"
  2. enum PassLightingMode
  3. {
  4. LIGHTING_UNLIT,
  5. LIGHTING_PERVERTEX,
  6. LIGHTING_PERPIXEL
  7. };
  8. class Pass : public RefCounted
  9. {
  10. bool IsDesktop() const;
  11. const String GetVertexShader() const;
  12. const String GetPixelShader() const;
  13. tolua_readonly tolua_property__is_set bool desktop;
  14. tolua_readonly tolua_property__get_set const String vertexShader;
  15. tolua_readonly tolua_property__get_set const String pixelShader;
  16. };
  17. class Technique : public Resource
  18. {
  19. bool HasPass(const String type) const;
  20. Pass* GetPass(const String type) const;
  21. Pass* GetSupportedPass(const String type) const;
  22. bool IsSupported() const;
  23. bool IsDesktop() const;
  24. unsigned GetNumPasses() const;
  25. tolua_outside const Vector<String>& TechniqueGetPassNames @ GetPassTypes() const;
  26. tolua_outside const PODVector<Pass*>& TechniqueGetPasses @ GetPasses() const;
  27. tolua_readonly tolua_property__is_set bool supported;
  28. tolua_readonly tolua_property__is_set bool desktop;
  29. tolua_readonly tolua_property__get_set unsigned numPasses;
  30. };
  31. ${
  32. static const Vector<String>& TechniqueGetPassNames(const Technique* technique)
  33. {
  34. static Vector<String> vector = technique->GetPassNames();
  35. return vector;
  36. }
  37. static const PODVector<Pass*>& TechniqueGetPasses(const Technique* technique)
  38. {
  39. static PODVector<Pass*> vector = technique->GetPasses();
  40. return vector;
  41. }
  42. $}