Technique.pkg 1.6 KB

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