bool SProgram::AttachShader(const char* a_directory, ShaderID a_type)
{
	Shader* shader = new Shader();
	
	if (!shader->Load(a_directory, a_type))
		return false;

	shader->AttachToProgram(m_programID);
	switch (a_type)
	{
	case ShaderID::VERT_SHADER:
		m_vertShader = shader;
		break;
	case ShaderID::FRAG_SHADER:
		m_fragShader = shader;
		break;
	case ShaderID::GEOM_SHADER:
		m_geomShader = shader;
		break;
	case ShaderID::TESSC_SHADER:
		m_tessCShader = shader;
		break;
	case ShaderID::TESSE_SHADER:
		m_tessEShader = shader;
		break;
	case ShaderID::DEFAULT:
		return false;
	default:
		return false;
	}

	return true;
}