本文整理汇总了C++中VisWindow::GetCaptureRegion方法的典型用法代码示例。如果您正苦于以下问题:C++ VisWindow::GetCaptureRegion方法的具体用法?C++ VisWindow::GetCaptureRegion怎么用?C++ VisWindow::GetCaptureRegion使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VisWindow
的用法示例。
在下文中一共展示了VisWindow::GetCaptureRegion方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: SNPRINTF
// ****************************************************************************
// Method: StopTimer
//
// Purpose: Time the IceT rendering process.
// IceT includes its own timing code that we might consider using at
// some point ...
//
// Programmer: Tom Fogal
// Creation: July 14, 2008
//
// Modifications:
//
// Hank Childs, Thu Jan 15 11:07:53 CST 2009
// Changed GetSize call to GetCaptureRegion, since that works for 2D.
//
// Tom Fogal, Fri May 29 20:37:59 MDT 2009
// Remove an unused variable.
//
// Burlen Loring, Tue Sep 1 14:26:30 PDT 2015
// sync up with network manager(base class) order compositing refactor
//
// ****************************************************************************
void
IceTNetworkManager::StopTimer()
{
char msg[1024];
VisWindow *viswin = renderState.window;
int rows,cols, width_start, height_start;
// This basically gets the width and the height.
// The distinction is for 2D rendering, where we only want the
// width and the height of the viewport.
viswin->GetCaptureRegion(width_start, height_start, rows,cols,
renderState.viewportedMode);
SNPRINTF(msg, 1023, "IceTNM::Render %lld cells %d pixels",
renderState.cellCountTotal, rows*cols);
visitTimer->StopTimer(renderState.timer, msg);
renderState.timer = -1;
}
示例2: SNPRINTF
// ****************************************************************************
// Method: StopTimer
//
// Purpose: Time the IceT rendering process.
// IceT includes its own timing code that we might consider using at
// some point ...
//
// Programmer: Tom Fogal
// Creation: July 14, 2008
//
// Modifications:
//
// Hank Childs, Thu Jan 15 11:07:53 CST 2009
// Changed GetSize call to GetCaptureRegion, since that works for 2D.
//
// Tom Fogal, Fri May 29 20:37:59 MDT 2009
// Remove an unused variable.
//
// ****************************************************************************
void
IceTNetworkManager::StopTimer(int windowID)
{
char msg[1024];
VisWindow *viswin = this->viswinMap.find(windowID)->second.viswin;
int rows,cols, width_start, height_start;
// This basically gets the width and the height.
// The distinction is for 2D rendering, where we only want the
// width and the height of the viewport.
viswin->GetCaptureRegion(width_start, height_start, rows,cols,
this->r_mgmt.viewportedMode);
SNPRINTF(msg, 1023, "IceTNM::Render %ld cells %d pixels",
GetTotalGlobalCellCounts(windowID), rows*cols);
visitTimer->StopTimer(this->r_mgmt.timer, msg);
this->r_mgmt.timer = -1;
}
示例3: RenderSetup
//.........这里部分代码省略.........
// Scratch all that, I guess. That might be the correct way to go
// about things in the long run, but IceT only gives us back half an
// image if we don't set the depth buffer bit. The compositing is a
// bit wrong, but there's not much else we can do..
// Consider removing the `hack' if a workaround is found.
if (/*hack*/true/*hack*/) // || !this->MemoMultipass(viswin))
{
inputs |= ICET_DEPTH_BUFFER_BIT;
}
if(needZB)
{
outputs |= ICET_DEPTH_BUFFER_BIT;
}
ICET(icetInputOutputBuffers(inputs, outputs));
// If there is a backdrop image, we need to tell IceT so that it can
// composite correctly.
if(viswin->GetBackgroundMode() != AnnotationAttributes::Solid)
{
ICET(icetEnable(ICET_CORRECT_COLORED_BACKGROUND));
}
else
{
ICET(icetDisable(ICET_CORRECT_COLORED_BACKGROUND));
}
if (renderState.renderOnViewer)
{
RenderCleanup();
avtDataObject_p dobj = NULL;
CATCH_RETURN2(1, dobj);
}
debug5 << "Rendering " << viswin->GetNumPrimitives()
<< " primitives." << endl;
int width, height, width_start, height_start;
// This basically gets the width and the height.
// The distinction is for 2D rendering, where we only want the
// width and the height of the viewport.
viswin->GetCaptureRegion(width_start, height_start, width, height,
renderState.viewportedMode);
this->TileLayout(width, height);
CallInitializeProgressCallback(this->RenderingStages());
// IceT mode is different from the standard network manager; we don't
// need to create any compositor or anything: it's all done under the
// hood.
// Whether or not to do multipass rendering (opaque first, translucent
// second) is all handled in the callback; from our perspective, we
// just say draw, read back the image, and post-process it.
// IceT sometimes omits large parts of Curve plots when using the
// REDUCE strategy. Use a different compositing strategy for Curve
// plots to avoid the problem.
if(viswin->GetWindowMode() == WINMODE_CURVE)
ICET(icetStrategy(ICET_STRATEGY_VTREE));
else
ICET(icetStrategy(ICET_STRATEGY_REDUCE));
ICET(icetDrawFunc(render));
ICET(icetDrawFrame());
// Now that we're done rendering, we need to post process the image.
debug3 << "IceTNM: Starting readback." << std::endl;
avtImage_p img = this->Readback(viswin, needZB);
// Now its essentially back to the same behavior as our parent:
// shadows
// depth cueing
// post processing
if (renderState.shadowMap)
this->RenderShadows(img);
if (renderState.depthCues)
this->RenderDepthCues(img);
// If the engine is doing more than just 3D annotations,
// post-process the composited image.
RenderPostProcess(img);
CopyTo(retval, img);
}
RenderCleanup();
}
CATCHALL
{
RenderCleanup();
RETHROW;
}
ENDTRY
workingNet = origWorkingNet;
visitTimer->StopTimer(t0, "Ice-T Render");
return retval;
}