Example #1
0
void RenderMethod_TerrainPhong_CG::setupShader(CGcontext &cg,
  CGprofile &_cgVertexProfile,
  CGprofile &_cgFragmentProfile) {
	RenderMethod::setupShader(cg, _cgVertexProfile, _cgFragmentProfile);
	
	createVertexProgram(cg, FileName("data/shaders/cg/terrain.vp.cg"));
	createFragmentProgram(cg, FileName("data/shaders/cg/terrain.fp.cg"));
	
	// Vertex program parameters
	cgMVP             = getVertexProgramParameter  (cg, "MVP");
	cgView            = getVertexProgramParameter  (cg, "View");
	cgCameraPos       = getVertexProgramParameter  (cg, "CameraPos");
	cgLightDir        = getFragmentProgramParameter(cg, "LightDir");
	cgTexture         = getFragmentProgramParameter(cg, "tex0");
	cgKa              = getFragmentProgramParameter(cg, "Ka");
	cgKd              = getFragmentProgramParameter(cg, "Kd");
}
Example #2
0
void RenderMethod_Grass_CG::setupShader(CGcontext &cg,
                                        CGprofile &_cgVertexProfile,
                                        CGprofile &_cgFragmentProfile) {
	RenderMethod::setupShader(cg, _cgVertexProfile, _cgFragmentProfile);
	
	createVertexProgram(cg, FileName("data/shaders/cg/grass.vp.cg"));
	createFragmentProgram(cg, FileName("data/shaders/cg/grass.fp.cg"));
	
	// Vertex program parameters
	cgMVP             = getVertexProgramParameter  (cg, "MVP");
	cgView            = getVertexProgramParameter  (cg, "View");
	cgViewI           = getVertexProgramParameter  (cg, "ViewI");
	cgLightPos        = getVertexProgramParameter  (cg, "LightPos");
	cgCameraPos       = getVertexProgramParameter  (cg, "CameraPos");
	cgCameraRight     = getVertexProgramParameter  (cg, "CameraRight");
	cgCameraUp        = getVertexProgramParameter  (cg, "CameraUp");
	cgTime            = getVertexProgramParameter  (cg, "time");
	
	// Fragment program parameters
	cgTexture         = getFragmentProgramParameter(cg, "tex0");
	cgKa              = getFragmentProgramParameter(cg, "Ka");
	cgKd              = getFragmentProgramParameter(cg, "Kd");
	cgkC              = getFragmentProgramParameter(cg, "kC");
	cgkL              = getFragmentProgramParameter(cg, "kL");
	cgkQ              = getFragmentProgramParameter(cg, "kQ");
}
Example #3
0
void RenderMethod_CGTest::setupShader(CGcontext &cg,
                                      CGprofile &_cgVertexProfile,
                                      CGprofile &_cgFragmentProfile) {
	RenderMethod::setupShader(cg, _cgVertexProfile, _cgFragmentProfile);
	
	createVertexProgram(cg, FileName("data/shaders/cg/test.vp.cg"));
	createFragmentProgram(cg, FileName("data/shaders/cg/test.fp.cg"));
	
	// get handles shader program parameters
	cgProj    = getVertexProgramParameter  (cg, "Proj");
	cgView    = getVertexProgramParameter  (cg, "View");
	cgTexture = getFragmentProgramParameter(cg, "tex0");
	
	// setup shader constants
	cgGLSetStateMatrixParameter(cgProj, CG_GL_PROJECTION_MATRIX, CG_GL_MATRIX_IDENTITY);
	cgSetParameterVariability(cgProj, CG_LITERAL); // make it a constant
}
Example #4
0
void RenderMethod_PhongPoint_CG::setupShader(CGcontext &cg,
  CGprofile &_cgVertexProfile,
  CGprofile &_cgFragmentProfile) {
	RenderMethod::setupShader(cg, _cgVertexProfile, _cgFragmentProfile);
	
	createVertexProgram(cg, FileName("data/shaders/cg/phong_point.vp.cg"));
	createFragmentProgram(cg, FileName("data/shaders/cg/phong_point.fp.cg"));
	
	// Vertex program parameters
	cgMVP             = getVertexProgramParameter  (cg, "MVP");
	cgView            = getVertexProgramParameter  (cg, "View");
	cgLightPos        = getVertexProgramParameter  (cg, "LightPos");
	cgCameraPos       = getVertexProgramParameter  (cg, "CameraPos");
	cgTexture         = getFragmentProgramParameter(cg, "tex0");
	cgKa              = getFragmentProgramParameter(cg, "Ka");
	cgKd              = getFragmentProgramParameter(cg, "Kd");
	cgKs              = getFragmentProgramParameter(cg, "Ks");
	cgShininess       = getFragmentProgramParameter(cg, "shininess");
	cgkC              = getFragmentProgramParameter(cg, "kC");
	cgkL              = getFragmentProgramParameter(cg, "kL");
	cgkQ              = getFragmentProgramParameter(cg, "kQ");
}