Site AdminJoined: Thu Mar 01, 2007 10:03 pmPosts: 916Location: Amsterdam
For the March 2010 issue of Boards Magazine, Emily Gobeille and I worked with Nexus Productions to develop an interactive cover experience called Rise and Fall. The video above shows a little preview of the experience.
If you don't have the cover and want to try it out - you can download the cover as a pdf along with the software at: http://boardsmag.com/RiseAndFall . You will need a pretty fast computer though
Attachment:
riseandfall-011web.jpg [ 51.7 KiB | Viewed 4343 times ]
Tracking: Tracking of the front and back cover is achieved using the excellent Ferns library from the CVLab in Lausanne. The tracking on its own can run at between 30 - 60 fps ( way faster than cvSurf! ) but in order to keep the rest of the app running fast we ran the tracking in a thread at about an 1/8th of the app speed. If you are only interested in the tracking you might want to check out the ofxFerns project I posted to github ( http://github.com/ofTheo/ofxFern ) - but the latest version of ofxFerns is in the Rise and Fall source code. Also bare in mind Ferns is GPL v2.0 and so is only free to use for open source projects ( which is why this project is also released with the GPL v2.0 license ).
Attachment:
riseFallTracking.png [ 132.05 KiB | Viewed 4358 times ]
- Note: Windows / Codeblocks specific bug - using optimization flags for SSE extensions really messed up the parts of the code that dealt with loading the tracking data. Also I had to use the latest MingW GCC for ferns to compile nicely in CodeBlocks.
Project Structure: -The project is still in need of some cleanup but the camApp class is where most of the Rise and Fall world stuff is happening. -The tracking happens at the testApp level and the testApp updates the camApp with the tracking info. -Almost everything that is drawable inherits a baseElement object. All baseElement subclasses have properties like position, rotation, scale etc. -There is sort of a faux scene graph which depth sorts and culls all the objects in the world and figures out what needs to be drawn to the screen. -A lot of the resources are loaded once at the beginning of the app and then can be accessed through global loader objects. IE: globalColors.getColor("lightRise") etc. -There are quite a few global / externed objects which are listed in _projectGlobals.h -There is a file called ofxFutureUtils.h which has some functions that are not in 0061 but will hopefully be in the next OF release. -ofxChipmunk is sort of a rough chipmunk physics addon - not 100% done but quite useful none the less.
Enjoy! - Please post any questions regarding the source code in this thread and I will do my best to answer them.
This is great! Very inspiring. I've begun digging through the code but I'm having trouble getting it to compile in XCode version 3.0 on os x 10.5.7. The error I'm getting is: Invalid value '4.2' for GCC_VERSION
Has anyone had a similar issue, or knows what this means?
Joined: Fri Jun 27, 2008 4:49 amPosts: 453Location: Brooklyn
Just had a chance to look at this... it's so good!
I like that you didn't go the standard augmented reality route, but used the magazine as a controller instead.
I like the way it looks, you really work seamlessly with Emily, it's incredible.
The subtle view-change effect is awesome.
I like the fact that, as you go further in one direction, you have to retrace your entire path to even begin exploring the other direction. It's a nice tension.
Any problems reported yet by people who have their cameras left/right flipped by default?
Are the blurry background clouds preprocessed or using blur shaders?
Site AdminJoined: Thu Mar 01, 2007 10:03 pmPosts: 916Location: Amsterdam
Hey Kyle! Thanks so much for the nice comments!
Quote:
Any problems reported yet by people who have their cameras left/right flipped by default?
Are the blurry background clouds preprocessed or using blur shaders?
Ahh no - didn't think of that ( mac users don't get such luxuries ; )
We had to do no shaders because we were a bit worried about graphic card shader issues across different types of hardware. So the blurry clouds are preprocessed.
We did want to do some subtle DOF shaders to change where the user is focusing - might still do for another version of the project. shaders would def be a lot of fun to hook in!
it's awesome man cannot wait to give it a try p.s. guys in cvLAB are really fantastic! i've been studying on their papers and codes for a long time. i've also tryed to hack Fern, but always get errors. hope i can gain something through your code thanks again theo
just tried your ofxfern i'm using windows XP and VS2008 and got lots of errors. some are related to highgui.hpp. after solve this, i got the following errors:
1>buffer_management.obj : error LNK2019: unresolved external symbol _uncompress referenced in function "bool __cdecl load_managed_image_in_pakfile(class std::basic_ifstream<char,struct std::char_traits<char> > &,struct _IplImage * *)" (?load_managed_image_in_pakfile@@YA_NAAV?$basic_ifstream@DU?$char_traits@D@std@@@std@@PAPAU_IplImage@@@Z) 1>fern_based_point_classifier.obj : error LNK2001: unresolved external symbol _uncompress 1>bin\opencvExample_debug.exe : fatal error LNK1120: 1 unresolved externals
i guess they are because the zlib thing. but i've add the zlib.h, zconf.h, zlibstat.lib and zlibwapi.lib(version 1.2.4) can you help me with this?
p.s. i find that OF always load a zlib.dll. so is there a way to use zlib.dll directly instead of using zlibstat.lib? maybe using zlib.dll directly can solve this problem
Users browsing this forum: No registered users and 2 guests
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum