#pragma once

#include "ShaderProgram.h"

namespace blitz {
namespace shader {

class GunShader : public ShaderProgram {
  private:
	unsigned int m_LocationProjection = 0;
	unsigned int m_LocationTransform = 0;

  protected:
	void GetAllUniformLocation() override;

  public:
	GunShader();

	bool LoadShader();

	void SetProjectionMatrix(const Mat4f& proj) const;
	void SetModelTransform(const Mat4f& trans) const;
};

}  // namespace shader
}  // namespace blitz
