It's funny, i've always been a graphics-ish programmer. I don't mean hardcore rendering programmer or any of that madness, but i've always been motivated to code by graphics. Back in high school, the first thing I dove into while learning C was the BGI, mainly so I could learn how to code graphics for demos (never mind that everyone was writing demos in assembly, which i was also learning so i could...yeah, write graphics routines). I can only imagine where I'd be nowadays if I'd had things like openframeworks to tinker with. Of course, we did have GLUT back in my day, which i did spend a fair amount of time mucking about with. Cool how somethings just stand the test of time.
Taking the plunge into video capture with openframeworks tonight, whipped up another quick, bitcrushesque-type vis. Took some cues from some of the processing vidcap samples i've been doing, some ideas just keep working:
/* testApp.h */
#pragma once
#include "ofMain.h"
class testApp : public ofBaseApp{
public:
void setup();
void update();
void draw();
ofVideoGrabber grabber;
unsigned char* gPixels;
ofImage img;
};
/* testApp.cpp */
#include "testApp.h"
void testApp::setup()
{
grabber = ofVideoGrabber();
grabber.setVerbose(true);
grabber.initGrabber(640,480,true);
ofEnableAlphaBlending();
}
void testApp::update()
{
grabber.update();
}
void testApp::draw()
{
ofBackground(0,0,0);
gPixels = grabber.getPixels();
for(int x=0;x<64;x++)
{
int xStep = x*10;
for(int y=0;y<48;y++)
{
int yStep = y*10;
int i = (yStep)*640*3+xStep*3;
ofSetColor(gPixels[i],gPixels[i+1],gPixels[i+2],128);
ofRectMode(OF_RECTMODE_CENTER);
ofNoFill();
ofRect(xStep,yStep,10,10);
ofSetColor(gPixels[i],gPixels[i+1],gPixels[i+2],255);
ofFill();
ofCircle(xStep,yStep,3);
}
}
}
That is cool looking.
ReplyDeleteThanks man! More to come hopefully...
ReplyDelete