本文整理汇总了C++中VideoFrame::update方法的典型用法代码示例。如果您正苦于以下问题:C++ VideoFrame::update方法的具体用法?C++ VideoFrame::update怎么用?C++ VideoFrame::update使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VideoFrame
的用法示例。
在下文中一共展示了VideoFrame::update方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: draw
void RecLoopRender::draw(){
VideoFrame * bufferFrame = buffer->getNextVideoFrame();
VideoFrame * liveFrame = live->getNextVideoFrame();
if(bufferFrame!=NULL && liveFrame!=NULL){
if(!imageAllocated){
image.allocate(liveFrame->w,liveFrame->h,OF_IMAGE_COLOR);
imageAllocated=true;
}
if(!bufferFrame->isTexAllocated())
bufferFrame->update(recLoopVoidArgs);
if(!liveFrame->isTexAllocated())
liveFrame->update(recLoopVoidArgs);
ofEnableAlphaBlending();
ofSetColor(tintR,tintG,tintB,alpha);
if(minmaxBlend)
glBlendEquationEXT(GL_MAX);
else
glBlendEquationEXT(GL_MIN);
bufferFrame->getTexture()->draw(0,0);
liveFrame->getTexture()->draw(0,0);
image.grabScreen(0,0,liveFrame->w,liveFrame->h);
//unsigned char * pixels = bufferFrame->getVideoFrame();
//memcpy(pixels,image.getPixels(),liveFrame->w*liveFrame->h*3*sizeof(unsigned char));
bufferFrame->getTexture()->loadData(image.getPixels(),liveFrame->w,liveFrame->h,GL_RGB);
liveFrame->release();
//bufferFrame->setTexAllocated(false);
//bufferFrame->update();
bufferFrame->release();
ofDisableAlphaBlending();
glBlendEquationEXT(GL_FUNC_ADD);
}
}