$#include "Graphics/Material.h" enum CullMode {}; enum WrapMode {}; class Material : public Resource { Material(); ~Material(); void SetNumTechniques(unsigned num); void SetTechnique(unsigned index, Technique* tech, unsigned qualityLevel = 0, float lodDistance = 0.0f); void SetVertexShaderDefines(const String defines); void SetPixelShaderDefines(const String defines); void SetShaderParameter(const String name, const Variant& value); void SetShaderParameterAnimation(const String name, ValueAnimation* animation, WrapMode wrapMode = WM_LOOP, float speed = 1.0f); void SetShaderParameterAnimationWrapMode(const String name, WrapMode wrapMode); void SetShaderParameterAnimationSpeed(const String name, float speed); void SetTexture(TextureUnit unit, Texture* texture); void SetUVTransform(const Vector2& offset, float rotation, const Vector2& repeat); void SetUVTransform(const Vector2& offset, float rotation, float repeat); void SetCullMode(CullMode mode); void SetShadowCullMode(CullMode mode); void SetFillMode(FillMode mode); void SetDepthBias(const BiasParameters& parameters); void SetAlphaToCoverage(bool enable); void SetLineAntiAlias(bool enable); void SetRenderOrder(unsigned char renderOrder); void SetOcclusion(bool enable); void SetScene(Scene* scene); void RemoveShaderParameter(const String name); void ReleaseShaders(); // SharedPtr Clone(const String cloneName = String::EMPTY) const; tolua_outside Material* MaterialClone @ Clone(const String cloneName = String::EMPTY) const; void SortTechniques(); void MarkForAuxView(unsigned frameNumber); unsigned GetNumTechniques() const; Technique* GetTechnique(unsigned index) const; Pass* GetPass(unsigned index, const String passName) const; Texture* GetTexture(TextureUnit unit) const; const String GetVertexShaderDefines() const; const String GetPixelShaderDefines() const; ValueAnimation* GetShaderParameterAnimation(const String name) const; WrapMode GetShaderParameterAnimationWrapMode(const String name) const; float GetShaderParameterAnimationSpeed(const String name) const; CullMode GetCullMode() const; CullMode GetShadowCullMode() const; FillMode GetFillMode() const; const BiasParameters& GetDepthBias() const; bool GetAlphaToCoverage() const; bool GetLineAntiAlias() const; unsigned char GetRenderOrder() const; bool GetOcclusion() const; bool GetSpecular() const; Scene* GetScene() const; tolua_property__get_set String vertexShaderDefines; tolua_property__get_set String pixelShaderDefines; tolua_property__get_set CullMode cullMode; tolua_property__get_set CullMode shadowCullMode; tolua_property__get_set FillMode fillMode; tolua_property__get_set BiasParameters depthBias; tolua_property__get_set bool alphaToCoverage; tolua_property__get_set bool lineAntiAlias; tolua_property__get_set unsigned char renderOrder; tolua_property__get_set bool occlusion; tolua_readonly tolua_property__get_set bool specular; tolua_property__get_set Scene* scene; }; ${ #define TOLUA_DISABLE_tolua_GraphicsLuaAPI_Material_new00 static int tolua_GraphicsLuaAPI_Material_new00(lua_State* tolua_S) { return ToluaNewObject(tolua_S); } #define TOLUA_DISABLE_tolua_GraphicsLuaAPI_Material_new00_local static int tolua_GraphicsLuaAPI_Material_new00_local(lua_State* tolua_S) { return ToluaNewObjectGC(tolua_S); } static Material* MaterialClone(const Material* material, const String& cloneName = String::EMPTY) { if (!material) return 0; return material->Clone(cloneName).Detach(); } $}