to do

FLARManager: control jitter with activityThreshold

Posted in to do on September 23rd, 2010 by ericsoco – 10 Comments

After learning today about a very clever trick by Deepanjan Das, I decided to implement it in FLARManager.

The trick, in short:
only send the camera source to FLARToolkit while there is noticeable motion.
The result:
less jitter when the marker is held still in front of the camera.

To implement in FLARManager:
Download the latest from svn, particularly FLARManager.as, FLARConfigLoader.as, and FLARCameraSource.as. the changes will automatically take effect.

To tweak the value, set activityThreshold within the <flarSourceSettings> element in flarConfig.xml. Set higher to further reduce jitter in stationary markers, and set lower to allow more freedom of motion with stationary markers.

Enjoy!

FLARManager v1.0 – Augmented Reality with Flash

Posted in to do on August 7th, 2010 by ericsoco – 33 Comments

Hello folks. I’m happy to announce that FLARManager is finally all growed-up!

FLARManager v1.0 has been quite a while in the making, especially the movement from v0.7. This is due to a number of factors; one of these has been working out the final details, between ARToolworks and Imagination, of flare*tracker and flare*NFT integration, which i first previewed in this blog post. But the major factor is the amount of restructuring that has gone into FLARManager.

Why restructure? FLARManager is now able to work with any tracking library, just as it’s able to work with any 3D framework. And switching between tracking libraries is as simple as this:

 
FLARToolkit:
new FLARManager("flarConfig.xml", new FlarToolkitManager(), this.stage);
flare*tracker:
new FLARManager("flarConfig.xml", new FlareManager(), this.stage);
flare*NFT:
new FLARManager("flarConfig.xml", new FlareNFTManager(), this.stage);

 
Obviously, the freedom given to application developers, creatives, and agencies by natural feature-tracking is the biggest element of this release to be excited about. But the restructuring goes deeper — FLARManager can now function as a link between *any* tracking library and *any* 3D framework. Developers are no longer bound to decisions based on limited availability or documentation; they are free to choose the tools that work best for them. (Some Californian CEOs would do well to pursue similar goals.)

You can get FLARManager version 1.0 here.

So what else is new about v1.0? A quick rundown beyond the jump…
read more »

mounting a server on a wireless network

Posted in to do on July 16th, 2010 by ericsoco – 2 Comments

spent a number of hours getting this to work, and as such i thought i’d share it with you, dear readers.

most of you probably have no use for this, but for the slice of you involved in installation work or IT with apple computers, this applescript may come in handy.

placed in your Login Items, this script will do the following on login:

  • attempt repeatedly to join a wireless network, whether hidden or visible
  • ping a server on that network until the server responds, and then
  • mount a volume on that server.

hope someone out there finds the script, or parts of it, useful.

-- -----join wireless network-----
set networkResult to false
repeat while not networkResult
    try
        
        do shell script "networksetup -setairportnetwork networkName networkPassword | /bin/bash"
        
        -- network found and joined.
        set networkResult to true
        
    on error errorMsg
        
        -- network not yet available;
        -- wait five seconds and try again.
        set networkResult to false
        delay 5
        
    end try
end repeat

-- -----mount server-----
set serverIP to "10.0.1.1"
set serverUsername to "username"
set serverPassword to "password"
set pingResult to "100% packet loss"
set serverFound to false

repeat while not serverFound
    try
        set pingResult to (do shell script ("ping -c 1 " & serverIP))
    on error e
        set pingResult to e
    end try
    
    if pingResult contains "100% packet loss" then
        -- server not found; delay and then try again
        set serverFound to false
        delay 5
    else
        -- server found; exit loop and mount server
        set serverFound to true
    end if
    
end repeat

-- delay to allow server to finish booting
delay 90
mount volume "afp://" & serverIP as user name serverUsername with password serverPassword

FLARManager for flare/NFT

Posted in to do on May 20th, 2010 by ericsoco – 28 Comments

i first announced this at FITC Toronto a few weeks ago, but was waiting to tie up some loose ends before i announced it here.

the newest version of FLARManager, which will be released shortly, abstracts the marker-tracking library out from the marker management framework (FLARManager’s core).

what does this mean?

in short, it means that FLARManager can now easily be updated to support any flash-based marker-tracking library. FLARToolkit (currently at v2.5.3) is the most obvious player, and FLARManager continues to support FLARToolkit. additionally, the newest version FLARManager will support flare*tracker and flare*NFT.

what are flare*tracker and flare*NFT?

[flare*tracker]
flare*tracker is a marker tracking engine much like FLARToolkit, and applies many of the same concepts. however, it is written completely from scratch in Alchemy, so it can achieve framerates up to 45+ fps. also, it supports six different marker types, including BCH ID-markers (with marker id encoded directly into the marker pattern, so no need to load pattern files and no speed penalty for many different patterns) and Data Matrix markers (with a url encoded into the marker pattern).

[flare*NFT]
flare*NFT is a ‘natural feature tracking’ engine, which means that it can track any printed image. not just square markers with black borders. any 2D image, from a magazine cover to a product box to a photograph, can be tracked. and since flare*NFT is also based on ARToolkitPlus, and written in Alchemy, it also shows great performance, generally around 30+ fps.

check out the following videos to see the difference between the three engines. and stay tuned for the release…
 
 

FLARManager – FLARToolkit 2.5.2. the FLARManager we all know and love.
 
 

FLARManager – flare. note the ID-marker, and framerates averaging in the 35-40fps range.
 
 

FLARManager – flareNFT. natural feature tracking made easy. blur? occlusion? glare? no problem.

FLARManager v0.7 (augmented reality in Flash)

Posted in to do on April 9th, 2010 by ericsoco – 35 Comments

speedy marker, andale arriba!

version 0.7 has been a long time coming; a lot of the changes in this update have been in SVN for months. just been too busy too wrap them up into an update.

download here:
http://words.transmote.com/wp/flarmanager/

also! you know i do it all for the love. but love don’t pay the bills. please consider dropping a dime my way to help me continue working on FLARManager so i can put food in my cat’s bowl.



 

what is this?

FLARManager is a lightweight framework that makes it easier to build FLARToolkit augmented reality applications for Flash. it is compatible with a variety of 3D engines, and provides a more robust event-based system for managing marker addition, update, and removal. it supports detection and management of multiple patterns, and multiple markers of a given pattern.

 

what’s new this time around?

[marker motion analysis]
FLARManager now executes some simple analysis of the motion of each tracked marker. this information is used to improve tracking of fast-moving markers by extrapolating their position after they are lost by FLARToolkit, and is used to reduce model jitter by varying the amount of smoothing applied depending on marker speed. it could also be used, for example, to create simple gestural marker-based interfaces.
 
[FLARToolkit update and SVN restructure]
version 0.7 brings FLARManager more in line with the current state of the FLARToolkit repository, with branches for FTK 1.0.0 and FTK 2.5.1. the zipped distro for FLARManager 0.7 contains FLARToolkit 2.5.1; if you’re checking out via SVN and want the latest stable build, i recommend you use the FTK 2.5.1 branch.
read more »

true fullscreen in AIR on OSX

Posted in to do on January 12th, 2010 by ericsoco – 3 Comments

been trying to figure this one out for about a year and a half now, and finally stumbled across the answer.

those of you who’ve tried to fullscreen an AIR app in OSX know about the annoying grey bar across the bottom of the screen. apparently, that’s a status bar. i guess you can even set status messages into it. handy, perhaps, if you’re making a browser entirely in AIR. but i think most of us just want it to go away.

you can do this by adding showStatusBar="false" to your mx:WindowedApplication tag.
(you can also add status with status="who needs this stupid grey bar?".)

i found this out while playing with mx:Windows. all NativeWindows have a statusBar by default. how bout that.

-eric

FLAR presentation @ ARDevCamp 2009.dec.05

Posted in to do on December 2nd, 2009 by ericsoco – Be the first to comment

i will (most likely) be speaking at the first Augmented Reality Development Camp this saturday, december 5, @ Hacker Dojo in mountain view, CA.

http://www.ardevcamp.org/

my session will address the web component of AR, and will tie in with discussions on mobile AR, standards, experience design, and more. i believe (free!) registration is still open, on the site above. stop by!

FLARManager v0.6 (augmented reality in Flash)

Posted in to do on September 23rd, 2009 by ericsoco – 47 Comments

when memes collide...

On to version 0.6. 1.0 is around the corner…
download here:
http://words.transmote.com/wp/flarmanager/

 

what is this?

FLARManager is a lightweight framework that makes it easier to build FLARToolkit augmented reality applications for Flash. it is compatible with a variety of 3D engines, and provides a more robust event-based system for managing marker addition, update, and removal. it supports detection and management of multiple patterns, and multiple markers of a given pattern.

 

what’s new this time around?

[customization]
FLARManager’s smoothing and adaptive thresholding display algorithms are now broken out into separate classes, allowing developers to implement their own algorithms. see Inside FLARManager: Customization for more info. additionally, custom smoother and threshold display algorithms can be implemented via flarConfig.xml, to allow fine-tuning without recompiling.

[better 2D support]
added .x, .y, .z, .rotation2D, .scale2D, and .matrix2D properties to FLARMarker, for easier access to 2D transformation properties that used to be hidden inside FLARToolkit’s 3D transformation matrices.

[better camera management]
changes to FLARCameraSource provide better camera management, with less of a chance that the wrong camera will be auto-selected.

[FLARManager deactivation and disposal]
improved support for de- and reactivating, and for completely removing FLARManager from memory.

[native mirroring]
developers no longer need to flip the viewport to achieve mirroring. when FLARManager.mirrorDisplay is set to true (as it is by default), FLARManager internally mirrors the matrices generated by FLARToolkit.
read more »

FLARToolkit/FLARManager article on InsideRIA.com

Posted in to do on August 16th, 2009 by ericsoco – Be the first to comment

insideria_sampleblurs

just realized i never posted this on my own site.

i was recently contacted by InsideRIA.com to write an in-depth article about FLARToolkit and FLARManager. you can find it here.

FLARManager v0.5 (augmented reality in Flash)

Posted in to do on July 18th, 2009 by ericsoco – 36 Comments

i wear my sunglasses at night...

another upgrade, hot’n'fresh for you.
download here:
http://words.transmote.com/wp/flarmanager/

 

what is this?

FLARManager is a lightweight framework that makes building FLARToolkit augmented reality applications easier. it is compatible with a variety of 3D engines, and provides a more robust event-based system for managing marker addition, update, and removal. it supports detection and management of multiple patterns, and multiple markers of a given pattern.

 

what’s new this time around?

[adaptive thresholding]
makc and saqoosha have been experimenting a bit with adaptive thresholding, so i decided to give it a go as well. markers are now detectable in varying and low illumination — great for web apps, where developers have no control over the end user’s lighting. (the image above demonstrates this feature in action.)

[support for Alternativa3D, Away3D, and Sandy3D]
FLARManager now supports the above three frameworks, along with the existing support for Papervision3D and Flash Player 10 3D. Thanks to makc and rob bateman for their assistance with matrix and camera conversions, and to holde for help with Away3D lighting.

[tutorials and examples]
the Inside FLARManager section in the nav bar above provides access to documentation and tutorials about FLARManager, as well as links to FLARToolkit-related content. simple tutorials are now available for basic 2D, 3D, and collada applications.

[optimization]
some changes under the hood, accompanied by extensive testing and profiling, allow FLARManager to run faster and more efficiently than before. additonally, a number of features are now exposed to the developer to tweak performance on an application-by-application basis. stay tuned for a detailed writeup on this.

[FLARProxy update]
FLARProxy allows developers to simulate marker detection with a mouse and keyboard. The functionality has not changed in this version, but it can now be activated via the external config file.
read more »