本文整理汇总了C++中ofx::Clip::getPixelRod方法的典型用法代码示例。如果您正苦于以下问题:C++ Clip::getPixelRod方法的具体用法?C++ Clip::getPixelRod怎么用?C++ Clip::getPixelRod使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ofx::Clip
的用法示例。
在下文中一共展示了Clip::getPixelRod方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setup
virtual void setup( const OFX::RenderArguments& args )
{
// destination view
// TUTTLE_COUT_INFOS;
// TUTTLE_COUT_VAR( "dst - fetchImage " << time );
_dst.reset( _clipDst->fetchImage( args.time ) );
if( !_dst.get() )
BOOST_THROW_EXCEPTION( exception::ImageNotReady()
<< exception::dev() + "Error on clip " + quotes(_clipDst->name()) );
if( _dst->getRowDistanceBytes() == 0 )
BOOST_THROW_EXCEPTION( exception::WrongRowBytes()
<< exception::dev() + "Error on clip " + quotes(_clipDst->name()) );
// _dstPixelRod = _dst->getRegionOfDefinition(); // bug in nuke, returns bounds
_dstPixelRod = _clipDst->getPixelRod( args.time, args.renderScale );
_dstPixelRodSize.x = ( this->_dstPixelRod.x2 - this->_dstPixelRod.x1 );
_dstPixelRodSize.y = ( this->_dstPixelRod.y2 - this->_dstPixelRod.y1 );
}
示例2: setup
virtual void setup(const OFX::RenderArguments& args)
{
ImageProcessor::setup(args);
// source view
_src.reset(_clipSrc->fetchImage(args.time));
if(!_src.get())
BOOST_THROW_EXCEPTION(exception::ImageNotReady()
<< exception::dev() + "Error on clip " + quotes(_clipSrc->name()));
if(_src->getRowDistanceBytes() == 0)
BOOST_THROW_EXCEPTION(exception::WrongRowBytes()
<< exception::dev() + "Error on clip " + quotes(_clipSrc->name()));
if(OFX::getImageEffectHostDescription()->hostName == "uk.co.thefoundry.nuke")
{
// bug in nuke, getRegionOfDefinition() on OFX::Image returns bounds
_srcPixelRod = _clipSrc->getPixelRod(args.time, args.renderScale);
}
else
{
_srcPixelRod = _src->getRegionOfDefinition();
}
}
示例3: setup
virtual void setup( const OFX::RenderArguments& args )
{
// destination view
_dst.reset( _clipDst->fetchImage( args.time ) );
if( !_dst.get() )
BOOST_THROW_EXCEPTION( exception::ImageNotReady() );
if( _dst->getRowBytes() == 0 )
BOOST_THROW_EXCEPTION( exception::WrongRowBytes() );
// _dstPixelRod = _dst->getRegionOfDefinition(); // bug in nuke, returns bounds
_dstPixelRod = _clipDst->getPixelRod( args.time, args.renderScale );
_dstPixelRodSize.x = ( this->_dstPixelRod.x2 - this->_dstPixelRod.x1 );
_dstPixelRodSize.y = ( this->_dstPixelRod.y2 - this->_dstPixelRod.y1 );
_dstView = getView( _dst.get(), _dstPixelRod );
#ifndef TUTTLE_PRODUCTION
// init dst buffer with red to highlight uninitialized pixels
const OfxRectI dstBounds = this->translateRoWToOutputClipCoordinates( _dst->getBounds() );
View dstToFill = boost::gil::subimage_view( _dstView,
dstBounds.x1, dstBounds.y1,
dstBounds.x2 - dstBounds.x1, dstBounds.y2 - dstBounds.y1 );
const boost::gil::rgba32f_pixel_t errorColor( 1.0, 0.0, 0.0, 1.0 );
fill_pixels( dstToFill, errorColor );
#endif
}