MCPcopy Create free account
hub / github.com/OGRECave/ogre-next / updateGpuProgramParameters

Method updateGpuProgramParameters

OgreMain/src/OgreSceneManager.cpp:4393–4443  ·  view source on GitHub ↗

---------------------------------------------------------------------

Source from the content-addressed store, hash-verified

4391 void SceneManager::_markGpuParamsDirty( uint16 mask ) { mGpuParamsDirty |= mask; }
4392 //---------------------------------------------------------------------
4393 void SceneManager::updateGpuProgramParameters( const Pass *pass )
4394 {
4395 if( pass->isProgrammable() )
4396 {
4397 if( !mGpuParamsDirty )
4398 return;
4399
4400 if( mGpuParamsDirty )
4401 pass->_updateAutoParams( mAutoParamDataSource, mGpuParamsDirty );
4402
4403 if( pass->hasVertexProgram() )
4404 {
4405 mDestRenderSystem->bindGpuProgramParameters(
4406 GPT_VERTEX_PROGRAM, pass->getVertexProgramParameters(), mGpuParamsDirty );
4407 }
4408
4409 if( pass->hasGeometryProgram() )
4410 {
4411 mDestRenderSystem->bindGpuProgramParameters(
4412 GPT_GEOMETRY_PROGRAM, pass->getGeometryProgramParameters(), mGpuParamsDirty );
4413 }
4414
4415 if( pass->hasFragmentProgram() )
4416 {
4417 mDestRenderSystem->bindGpuProgramParameters(
4418 GPT_FRAGMENT_PROGRAM, pass->getFragmentProgramParameters(), mGpuParamsDirty );
4419 }
4420
4421 if( pass->hasTessellationHullProgram() )
4422 {
4423 mDestRenderSystem->bindGpuProgramParameters(
4424 GPT_HULL_PROGRAM, pass->getTessellationHullProgramParameters(), mGpuParamsDirty );
4425 }
4426
4427 if( pass->hasTessellationDomainProgram() )
4428 {
4429 mDestRenderSystem->bindGpuProgramParameters(
4430 GPT_DOMAIN_PROGRAM, pass->getTessellationDomainProgramParameters(),
4431 mGpuParamsDirty );
4432 }
4433
4434 // if (pass->hasComputeProgram())
4435 // {
4436 // mDestRenderSystem->bindGpuProgramParameters(GPT_COMPUTE_PROGRAM,
4437 // pass->getComputeProgramParameters(),
4438 // mGpuParamsDirty);
4439 // }
4440
4441 mGpuParamsDirty = 0;
4442 }
4443 }
4444 void SceneManager::fireWorkerThreadsAndWait()
4445 {
4446 if( mForceMainThread )

Callers

nothing calls this directly

Tested by

no test coverage detected