$#include "Technique.h" enum PassLightingMode { LIGHTING_UNLIT, LIGHTING_PERVERTEX, LIGHTING_PERPIXEL }; class Pass : public RefCounted { bool IsSM3() const; bool IsDesktop() const; const String GetVertexShader() const; const String GetPixelShader() const; tolua_readonly tolua_property__is_set bool SM3; tolua_readonly tolua_property__is_set bool desktop; tolua_readonly tolua_property__get_set const String vertexShader; tolua_readonly tolua_property__get_set const String pixelShader; }; class Technique : public Resource { bool HasPass(const StringHash type) const; Pass* GetPass(const StringHash type) const; Pass* GetSupportedPass(const StringHash type) const; bool IsSupported() const; bool IsSM3() const; bool IsDesktop() const; unsigned GetNumPasses() const; tolua_outside const Vector& TechniqueGetPassTypes @ GetPassTypes() const; tolua_outside const PODVector& TechniqueGetPasses @ GetPasses() const; tolua_readonly tolua_property__is_set bool supported; tolua_readonly tolua_property__is_set bool SM3; tolua_readonly tolua_property__is_set bool desktop; tolua_readonly tolua_property__get_set unsigned numPasses; }; ${ static const Vector& TechniqueGetPassTypes(const Technique* technique) { static Vector vector = technique->GetPassTypes(); return vector; } static const PODVector& TechniqueGetPasses(const Technique* technique) { static PODVector vector = technique->GetPasses(); return vector; } $}