MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/Falcor / markOutput

Method markOutput

Source/Falcor/RenderGraph/RenderGraph.cpp:548–582  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

546}
547
548void RenderGraph::markOutput(const std::string& name, TextureChannelFlags mask)
549{
550 FALCOR_CHECK(mask != TextureChannelFlags::None, "Mask must be non-empty");
551
552 // Recursive call to handle '*' wildcard.
553 if (name == "*")
554 {
555 auto outputs = getAvailableOutputs();
556 for (const auto& o : outputs)
557 markOutput(o, mask);
558 return;
559 }
560
561 str_pair strPair;
562 getRenderPassAndNamePair(false, name, strPair);
563
564 GraphOut newOut;
565 newOut.field = strPair.second;
566 newOut.nodeId = mNameToIndex[strPair.first];
567
568 // Check if output is already marked.
569 // If it is, add the mask to its set of generated masks.
570 auto it = std::find(mOutputs.begin(), mOutputs.end(), newOut);
571 if (it != mOutputs.end())
572 {
573 it->masks.insert(mask);
574 // No recompile necessary as output is already generated.
575 }
576 else
577 {
578 newOut.masks.insert(mask);
579 mOutputs.push_back(newOut);
580 mRecompile = true;
581 }
582}
583
584void RenderGraph::unmarkOutput(const std::string& name)
585{

Calls 5

findFunction · 0.85
beginMethod · 0.45
endMethod · 0.45
insertMethod · 0.45
push_backMethod · 0.45

Tested by 5

test_SideBySideFunction · 0.76
test_SplitScreenFunction · 0.76
test_ColorMapPassFunction · 0.76
test_FLIPPassFunction · 0.76