Shader::Shader(string vFile, string fFile, string gFile)	{
	program		= glCreateProgram();
	objects[SHADER_VERTEX]		= GenerateShader(vFile,GL_VERTEX_SHADER);
	objects[SHADER_FRAGMENT]	= GenerateShader(fFile,GL_FRAGMENT_SHADER);
	objects[SHADER_GEOMETRY]	= 0;

	if(!gFile.empty()) {
		objects[SHADER_GEOMETRY]	= GenerateShader(gFile,GL_GEOMETRY_SHADER);
		glAttachShader(program,objects[SHADER_GEOMETRY]);
	}

	glAttachShader(program,objects[SHADER_VERTEX]);
	glAttachShader(program,objects[SHADER_FRAGMENT]);

	SetDefaultAttributes();
}
Beispiel #2
0
/*


Vertex Shader Functions!


*/
VertexShader::VertexShader(std::string name) : Shader(name, VERTEX_SHADER)	{
	for(int i = 0; i < VERTEX_SIZE; ++i) {
		attributes[i] = 0;
	}
	SetDefaultAttributes();
}