Author Message

<  examples  ~  Boards - Interactive Magazine Cover

PostPosted: Thu Mar 11, 2010 1:31 pm
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
riseandfall-011web.jpg [ 51.7 KiB | Viewed 4343 times ]



Open Source:
The whole project is open sourced under GPL v2.0 - you can download the source code as an xcode project from: http://boardsmag.com/RiseAndFall . Direct link here.

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
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.

Theo



_________________
http://www.theowatson.com
Offline Profile
PostPosted: Thu Mar 11, 2010 9:09 pm
Joined: Sat Jul 26, 2008 5:08 pmPosts: 54Location: Brooklyn, NY
I get some errors when I try to build the project. I'm running 10.5.8 and Xcode 3.1.4

I'm attaching a screengrab of the errors panel...
Attachments:
Picture 1.png
Picture 1.png [ 205.62 KiB | Viewed 4286 times ]

Offline Profile
PostPosted: Fri Mar 12, 2010 5:57 am
Joined: Fri Oct 03, 2008 6:30 pmPosts: 61
Man Theo this is so sick...

Amazing you're sharing all the source code, really interested in seeing how one put an app as complicated as this together...

The ferns library sounds really awesome, markerless tracking is so much cooler....


Thanks for making this all available!


Offline Profile
PostPosted: Fri Mar 12, 2010 6:24 am
Site AdminJoined: Thu Mar 01, 2007 10:03 pmPosts: 916Location: Amsterdam
Aaron Meyers wrote:
I get some errors when I try to build the project. I'm running 10.5.8 and Xcode 3.1.4

I'm attaching a screengrab of the errors panel...


Ahh yeah sorry you have to set the active SDK to 10.5 - then it should compile fine.

Cheers!
Theo



_________________
http://www.theowatson.com
Offline Profile
PostPosted: Fri Mar 12, 2010 6:25 am
Site AdminJoined: Thu Mar 01, 2007 10:03 pmPosts: 916Location: Amsterdam
stevevarga wrote:
Man Theo this is so sick...

Amazing you're sharing all the source code, really interested in seeing how one put an app as complicated as this together...

The ferns library sounds really awesome, markerless tracking is so much cooler....


Thanks for making this all available!


No problem - the code is not 100% super clean but hopefully it is interesting to check out!



_________________
http://www.theowatson.com
Offline Profile
PostPosted: Mon Mar 15, 2010 5:07 am
Joined: Mon Mar 15, 2010 3:58 amPosts: 30
Hi Theo,

Any suggestions how to compile this on windows (specifically, ofxFernCameraDemo)?

Thanks.

---Bo


Offline Profile
PostPosted: Wed Mar 17, 2010 10:53 pm
Joined: Wed Mar 17, 2010 10:50 pmPosts: 1
This is so amazing.

Thank you for sharing this even though it is so depressing to see in detail the complexity that others have mastered.

I guess it is all about small steps, practice, patience & determination.


Offline Profile
PostPosted: Thu Mar 18, 2010 3:26 pm
User avatarJoined: Sun Sep 27, 2009 6:16 amPosts: 45Location: NYC, USA
This is amazing and great source to learn of.
Thanks you for sharing source files.


Offline Profile
PostPosted: Wed Mar 24, 2010 11:08 pm
User avatarJoined: Wed Sep 10, 2008 9:06 pmPosts: 22Location: Paris - France
ooohh.. this is really fantastic



_________________
http://www.kikko.fr
Offline Profile
PostPosted: Fri Mar 26, 2010 8:06 am
Joined: Tue Apr 22, 2008 12:32 pmPosts: 1
:shock: :shock: :shock: :shock: :shock:
OMG


:shock: :shock: :shock: :shock:


Offline Profile
PostPosted: Fri Mar 26, 2010 3:23 pm
Joined: Fri Mar 26, 2010 3:19 pmPosts: 2
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?


Offline Profile
PostPosted: Fri Mar 26, 2010 4:47 pm
Site AdminJoined: Thu Mar 01, 2007 10:03 pmPosts: 916Location: Amsterdam
If you got to Project->Edit Project Settings and go down to compiler version - you could try changing it to GCC 4.0

I think its because you have an earlier version of xcode.

Cheers!
Theo



_________________
http://www.theowatson.com
Offline Profile
PostPosted: Mon Mar 29, 2010 6:15 am
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?


Offline Profile
PostPosted: Mon Mar 29, 2010 2:16 pm
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!

Cheers!
T



_________________
http://www.theowatson.com
Offline Profile
PostPosted: Sat Apr 03, 2010 6:20 am
Joined: Wed Apr 29, 2009 6:56 amPosts: 43Location: Shanghai
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



_________________
http://www.cnblogs.com/yangyangcv
http://www.progenlabs.com/
Offline Profile

Display posts from previous:  Sort by:

All times are UTC
Page 1 of 2
30 posts
Go to page 1, 2  Next
Users browsing this forum: No registered users and 2 guests
Search for:
Post new topic  Reply to topic
Jump to:  
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
cron