MCPcopy Create free account
hub / github.com/carbonengine/trinity / GenerateDepthFromAreaVector

Method GenerateDepthFromAreaVector

trinity/Eve/SpaceObjectFactory/EveSOF.cpp:519–550  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

517
518// --------------------------------------------------------------------------------
519void EveSOF::GenerateDepthFromAreaVector( Tr2MeshBase* mesh, const Tr2MeshAreaVector* meshAreaVector, const EveSOFDNAPtr dna ) const
520{
521 Tr2MeshAreaVector* depthAreas = mesh->GetAreas( TRIBATCHTYPE_DEPTH );
522 if( depthAreas )
523 {
524 for( auto srcMeshArea = meshAreaVector->begin(); srcMeshArea != meshAreaVector->end(); ++srcMeshArea )
525 {
526 if( ( *srcMeshArea )->GetGenerateDepthArea() )
527 {
528 Tr2MeshAreaPtr destMeshArea;
529 BeClasses->CopyTo( *srcMeshArea, (IRoot**)&destMeshArea );
530
531 Tr2Effect* destShader = dynamic_cast<Tr2Effect*>( destMeshArea->GetMaterialInterface() );
532 Tr2Effect* srcShader = dynamic_cast<Tr2Effect*>( ( *srcMeshArea )->GetMaterialInterface() );
533 if( destShader && srcShader )
534 {
535 const EveSOFDataMgr::GenericShaderData* depthOnlyShaderData = dna->GetGenericAreaShaderData( m_depthOnlyEffectName );
536 if( depthOnlyShaderData )
537 {
538 destShader->SetEffectPathName( dna->GetCompleteShaderPath( m_depthOnlyEffectName.c_str() ).c_str() );
539 destShader->ClearAllParameters();
540 destShader->ClearAllResources();
541
542 ITriEffectParameter* p = srcShader->GetResourceByName( depthOnlyShaderData->transparencyTextureName.c_str() );
543 destShader->AddResource( p );
544 }
545 }
546 depthAreas->Append( destMeshArea );
547 }
548 }
549 }
550}
551
552// --------------------------------------------------------------------------------
553// Description:

Callers

nothing calls this directly

Calls 13

GetAreasMethod · 0.80
GetGenerateDepthAreaMethod · 0.80
GetMaterialInterfaceMethod · 0.80
SetEffectPathNameMethod · 0.80
GetCompleteShaderPathMethod · 0.80
ClearAllParametersMethod · 0.80
ClearAllResourcesMethod · 0.80
GetResourceByNameMethod · 0.80
AddResourceMethod · 0.80
AppendMethod · 0.80
beginMethod · 0.45

Tested by

no test coverage detected