#include "testApp.h" //-------------------------------------------------------------- void testApp::setup(){ camWidth = 320; // try to grab at this size. camHeight = 240; vidGrabber.setVerbose(true); vidGrabber.initGrabber(camWidth,camHeight); videoInverted = new unsigned char[camWidth*camHeight*3]; videoTexture.allocate(camWidth,camHeight, GL_RGB); } //-------------------------------------------------------------- void testApp::update(){ ofBackground(100,100,100); vidGrabber.grabFrame(); if (vidGrabber.isFrameNew()){ int totalPixels = camWidth*camHeight*3; unsigned char * pixels = vidGrabber.getPixels(); for (int i = 0; i < totalPixels; i++){ videoInverted[i] = 255 - pixels[i]; } videoTexture.loadData(videoInverted, camWidth,camHeight, GL_RGB); } } //-------------------------------------------------------------- void testApp::draw(){ ofSetColor(0xffffff); vidGrabber.draw(20,20); videoTexture.draw(20+camWidth,20,camWidth,camHeight); } //-------------------------------------------------------------- void testApp::keyPressed (int key){ // in fullscreen mode, on a pc at least, the // first time video settings the come up // they come up *under* the fullscreen window // use alt-tab to navigate to the settings // window. we are working on a fix for this... if (key == 's' || key == 'S'){ vidGrabber.videoSettings(); } } //-------------------------------------------------------------- void testApp::keyReleased(int key){ } //-------------------------------------------------------------- void testApp::mouseMoved(int x, int y ){ } //-------------------------------------------------------------- void testApp::mouseDragged(int x, int y, int button){ } //-------------------------------------------------------------- void testApp::mousePressed(int x, int y, int button){ } //-------------------------------------------------------------- void testApp::mouseReleased(int x, int y, int button){ } //-------------------------------------------------------------- void testApp::resized(int w, int h){ }