Page MenuHomePhorge

Material.h
No OneTemporary

Size
1023 B
Referenced Files
None
Subscribers
None

Material.h

#ifndef _ECHOMATERIAL_H_
#define _ECHOMATERIAL_H_
#include <echo/Types.h>
#include <echo/Graphics/RenderPass.h>
namespace Echo
{
class Matrix4;
class MultipassRenderable;
class Texture;
class Material
{
public:
Material();
Material(const Material& other);
virtual ~Material();
shared_ptr< Material > Clone() const;
void SetToDefaultMaterial();
size_t GetNumberOfPasses() const;
RenderPass* GetCurrentPass() const
{
return mCurrentPass;
}
RenderPass* GetPass(u32 passIndex);
void AddPass(const RenderPass& p);
void SetPass(const RenderPass& p, u32 pass = 0);
void SetTexture(shared_ptr<Texture> surface);
shared_ptr<Texture> GetTexture() const;
virtual void ApplyAndRender(MultipassRenderable& renderable, const Matrix4& viewWorldMatrix, RenderTarget& renderTarget);
void SetName(const std::string& name){mName=name;}
private:
std::vector<RenderPass> mPasses;
RenderPass* mCurrentPass;
std::string mName;
};
}
#endif

File Metadata

Mime Type
text/x-c++
Expires
Mon, May 19, 11:20 AM (9 h, 46 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
76966
Default Alt Text
Material.h (1023 B)

Event Timeline