Exemplo n.º 1
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");
}
Exemplo n.º 2
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
}
Exemplo n.º 3
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");
}
	//---------------------------------------------------------------------
	//---------------------------------------------------------------------
	HighLevelGpuProgramPtr 
		TerrainMaterialGeneratorC::SM2Profile::ShaderHelper::generateVertexProgram(
			const SM2Profile* prof, const Terrain* terrain, TechniqueType tt)
	{
		HighLevelGpuProgramPtr ret = createVertexProgram(prof, terrain, tt);
 
		StringUtil::StrStreamType sourceStr;
		generateVertexProgramSource(prof, terrain, tt, sourceStr);
		ret->setSource(sourceStr.str());
		ret->load();
		defaultVpParams(prof, terrain, tt, ret);
#if OGRE_DEBUG_MODE
		LogManager::getSingleton().stream(LML_TRIVIAL) << "*** Terrain Vertex Program: " 
			<< ret->getName() << " ***\n" << ret->getSource() << "\n***   ***";
#endif
 
		return ret;
 
	}
Exemplo n.º 5
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");
}