/src/ShaderDepot.cpp
#include <string.h>

#include "RShader.h"
#include "DecalShader.h"

extern GLfloat Projection[4][4];
RShader* rShader;
DecalShader* decalShader;

Shader* loadShader(const char *name) {
	if (strncmp(name, "RShader", 8) == 0) {
		if (rShader == NULL) {
			rShader = new RShader();
			rShader->setProjection((GLfloat*)Projection);
		}
		return (Shader*) rShader;
	} else if (strncmp(name, "DecalShader", 12) == 0) {
		if (decalShader == NULL) {
			decalShader = new DecalShader();
			decalShader->setProjection((GLfloat*)Projection);
		}
		return (Shader*) decalShader;
	}

	return NULL;
}