//----------------------------------------------------------------------------- bool GLSLProgramProcessor::postCreateGpuPrograms(ProgramSet* programSet) { Program* vsCpuProgram = programSet->getCpuVertexProgram(); Program* fsCpuProgram = programSet->getCpuFragmentProgram(); GpuProgramPtr vsGpuProgram = programSet->getGpuVertexProgram(); GpuProgramPtr fsGpuProgram = programSet->getGpuFragmentProgram(); // Bind sub shaders for the vertex shader. bindSubShaders(vsCpuProgram, vsGpuProgram); // Bind sub shaders for the fragment shader. bindSubShaders(fsCpuProgram, fsGpuProgram); // Bind vertex shader auto parameters. bindAutoParameters(programSet->getCpuVertexProgram(), programSet->getGpuVertexProgram()); // Bind fragment shader auto parameters. bindAutoParameters(programSet->getCpuFragmentProgram(), programSet->getGpuFragmentProgram()); // Bind texture samplers for the vertex shader. bindTextureSamplers(vsCpuProgram, vsGpuProgram); // Bind texture samplers for the fragment shader. bindTextureSamplers(fsCpuProgram, fsGpuProgram); return true; }
//----------------------------------------------------------------------------- bool CGProgramProcessor::postCreateGpuPrograms( ProgramSet* programSet ) { // Bind vertex shader auto parameters. bindAutoParameters(programSet->getCpuVertexProgram(), programSet->getGpuVertexProgram()); // Bind fragment shader auto parameters. bindAutoParameters(programSet->getCpuFragmentProgram(), programSet->getGpuFragmentProgram()); return true; }
//----------------------------------------------------------------------------- bool CGProgramProcessor::postCreateGpuPrograms( ProgramSet* programSet ) { // Bind vertex auto parameters. for(auto type : {GPT_VERTEX_PROGRAM, GPT_FRAGMENT_PROGRAM}) bindAutoParameters(programSet->getCpuProgram(type), programSet->getGpuProgram(type)); return true; }