MCPcopy Create free account
hub / github.com/ImageEngine/cortex / removeUnusedShaders

Method removeUnusedShaders

src/IECoreScene/ShaderNetworkAlgo.cpp:117–134  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

115} // namespace
116
117void ShaderNetworkAlgo::removeUnusedShaders( ShaderNetwork *network )
118{
119 std::unordered_set<InternedString> visited;
120 visitInputs( network, network->getOutput().shader, visited );
121
122 auto shaders = network->shaders();
123 for( auto it = shaders.begin(); it != shaders.end(); )
124 {
125 if( visited.find( it->first ) == visited.end() )
126 {
127 it = network->removeShader( it );
128 }
129 else
130 {
131 ++it;
132 }
133 }
134}
135
136//////////////////////////////////////////////////////////////////////////
137// Component connection adapters

Callers 1

Calls 6

visitInputsFunction · 0.85
shadersMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
findMethod · 0.45
removeShaderMethod · 0.45

Tested by 1