void logError(const char *message, ...) { va_list arguments; va_start(arguments, message); _logMessage(LOG_ERROR, message, arguments); va_end(arguments); }
void logWarn(const char *message, ...) { va_list arguments; va_start(arguments, message); _logMessage(LOG_WARN, message, arguments); va_end(arguments); }
void logInfo(const char *message, ...) { va_list arguments; va_start(arguments, message); _logMessage(LOG_INFO, message, arguments); va_end(arguments); }
void logDebug(const char *message, ...) { va_list arguments; va_start(arguments, message); _logMessage(LOG_DEBUG, message, arguments); va_end(arguments); }
//------------------------------------------------------------------------------ void OgreVideoTexture::_endCapture() { cvReleaseCapture(&mCvCapture); mCurrentFrameIndex = 0; mCurrentVideoFrame = NULL; mCvCapture = NULL; _logMessage("video file" + mVideoFileName + "ended"); }
//------------------------------------------------------------------------------ void OgreVideoTexture::_init() { _logMessage("init"); _initCapture(); _createTextureFromCapture(mCvCapture); // set first frame mCurrentVideoFrame = cvQueryFrame(mCvCapture); mCurrentFrameIndex++; _updateTextureFromImage(mCurrentVideoFrame); mTimeSinceLastUpdate.reset(); _logMessage("init done"); }
//------------------------------------------------------------------------------ void OgreVideoTexture::_initCapture() { mCvCapture = cvCreateFileCapture(mVideoFileName.c_str()); mFrameCount = cvGetCaptureProperty(mCvCapture, CV_CAP_PROP_FRAME_COUNT); // skip first frame cvGrabFrame(mCvCapture); mCurrentFrameIndex++; _logMessage("openned " + mVideoFileName); }
//------------------------------------------------------------------------------ void OgreVideoTexture::_updateTextureFromImage(const IplImage *_image) { if (mIsLoggingEvents) mTimer.reset(); // Get the pixel buffer Ogre::HardwarePixelBufferSharedPtr pixelBuffer = mVideoTexture->getBuffer(); //_copyImagePerChannel(_image, pixelBuffer); //_copyImagePerLine(_image, pixelBuffer); _copyImagePerPixel(_image, pixelBuffer); if (mIsLoggingEvents) { boost::format fmt("%1% (%2%) : %3% µs"); fmt % "write to texture" % mCurrentFrameIndex % mTimer.getMicroseconds(); _logMessage(fmt.str()); } }