Archive

Archive for January, 2011

Containers of pointers and native cinder types

January 20, 2011 Leave a comment

A very simple example on that topic using cinder.


#include “cinder/app/AppBasic.h”
#include “cinder/gl/gl.h”
#include “cinder/Rand.h”
#include

using namespace ci;
using namespace ci::app;
using namespace std;

static const int total= 10;
class Pointer2NativeApp : public AppBasic {
public:
void setup();
void mouseDown( MouseEvent event );
void update();
void draw();

protected:
int x,y;
int* px;
int* py;
vector mXFloats;
vector mYFloats;
vector mV2;
vector mV3;
typedef vector::iterator fIter;
typedef vector::iterator v2Iter;
};

void Pointer2NativeApp::setup(){
x=100;
y=200;

//int xxx=x;
px=&x;
py=&y;

for(unsigned int i=0;i<total;i++){
float _x=Rand::randFloat(0.0f,(float)getWindowWidth());
float _y=Rand::randFloat(0.0f,(float)getWindowHeight());
mXFloats.push_back(new float(Rand::randFloat(0.0f,(float)getWindowWidth())));
mYFloats.push_back(new float(Rand::randFloat(0.0f,(float)getWindowHeight())));
mV2.push_back(new Vec2f(_x,_y));

}

for(unsigned int i=0;i<total;i++){
float _x=Rand::randFloat(0.0f,(float)getWindowWidth());
float _y=Rand::randFloat(0.0f,(float)getWindowHeight());
float _z=Rand::randFloat(-3.0f,3.0f);
mV3.push_back(new Vec3f(_x,_y,_z));
}

// for(unsigned int i=0;i<total;i++){
// cout<<*mXFloats[i]<<endl;
// }

gl::enableWireframe();
}

void Pointer2NativeApp::mouseDown( MouseEvent event )
{
}

void Pointer2NativeApp::update(){

}

void Pointer2NativeApp::draw()
{
// clear out the window with black
gl::clear( Color( 0, 0, 0 ) );

gl::color(ColorA(1.0f,0.9f,0.9f,0.2f));
//cout<<*px<<endl;
gl::drawStrokedCircle(Vec2f(*px,*py),100);

// for(v2Iter v=mV2.begin();v!=mV2.end();++v){
// }

for(unsigned int i=0;i<total;i++){
gl::drawSphere(*mV3[i],20);
gl::drawStrokedCircle(*mV2[i],20);
}
}

CINDER_APP_BASIC( Pointer2NativeApp, RendererGl )

Advertisements
Categories: cinder, cpp

Displace portrait with dynamic particles

January 19, 2011 Leave a comment

Small sketches for the visual design of the opera ‘La Princesse Jaune’, to be presented in Amsterdam next month. Noise is implemented on the mesh field. I would love to try some forces on it!

Categories: projects

Apoptosis

January 14, 2011 Leave a comment

Today we started the development of a new piece, ‘Apoptosis’. I will be in charge of designing the visual system. The images and concept are result of a very talented audiovisual artist, Ofer Smilansky:

http://vimeo.com/ofersmilansky

I am planning to use directX/vvvv for this thingie. So far shading with it has become a really nice habit.

Update: we are having a blog for the project:

http://apoptosisproject.blogspot.com/

Categories: projects

Dispersion for a Palm Top Theater

January 14, 2011 Leave a comment

I am writing my first iPhone thingie. So far it has been a lot of learning in terms of hardware and optimization. As a friend of mine said ‘you need to think that you are programming for a computer from the 90’s’. And it is correct!
The development is part of this project:

http://www.v2.nl/events/palm-top-theater

It is a rather interesting way of thinking iPhone visualization and i am looking forward for the results. Meanwhile, discovering how to write for a 90’s computer…

Categories: cinder, iPhone

more N

the same idea:

Categories: cinder, code

Noiser

I made small experiment, imported some libraries from OFW into Cinder and they work as a charm. I am wondering if someday we will see a merge of both frameworks, both amazing!
But maybe it is like the dream of watching vvvv and jitter living happily even after.
Meanwhile, some photos:


Categories: cinder, code