void apply()
		{
			if(baseTexture)
				baseTexture->Apply(1);

			float diffuse[4] = { diffuseColor.r, diffuseColor.g, diffuseColor.b, 1.0f };
			glProgramEnvParameter4fvARB(GL_VERTEX_PROGRAM_ARB, 7, diffuse);
		}
		void applyProjection(const COL &spotColor)
		{
			if(baseTexture)
				baseTexture->Apply(2);

			float factor = 1.0f;
			float diffuse[4] = { diffuseColor.r * factor * spotColor.r, diffuseColor.g * factor * spotColor.g, diffuseColor.b * factor * spotColor.b, 1.0f };
			glProgramEnvParameter4fvARB(GL_VERTEX_PROGRAM_ARB, 17, diffuse);
		}
		void applyShadow()
		{
			if(baseTexture)
				baseTexture->Apply(0);
		}