29 lines
619 B
C++
29 lines
619 B
C++
#pragma once
|
|
|
|
#include "ShaderProgram.h"
|
|
|
|
namespace td {
|
|
namespace shader {
|
|
|
|
class EntityShader : public ShaderProgram {
|
|
private:
|
|
unsigned int m_LocationProjectionMatrix = 0;
|
|
unsigned int m_LocationViewMatrix = 0;
|
|
unsigned int m_LocationPosition = 0;
|
|
unsigned int m_LocationColorEffect = 0;
|
|
protected:
|
|
virtual void GetAllUniformLocation();
|
|
public:
|
|
EntityShader();
|
|
|
|
void LoadShader();
|
|
|
|
void SetColorEffect(const Vec3f& color);
|
|
void SetProjectionMatrix(const Mat4f& proj) const;
|
|
void SetViewMatrix(const Mat4f& view) const;
|
|
void SetModelPos(const Vec3f& pos) const;
|
|
};
|
|
|
|
} // namespace shader
|
|
} // namespace td
|