[Newbies] Creating a coverflow effect in Squeak

Marcus Strehlow marcus.strehlow at gmail.com
Mon Jun 16 11:48:26 UTC 2008

Hi all,

I thought I'd also give you my thoughts on this. While in theory a
replication of Apple's (actually SteelSkies') Cover Flow effect is possible
to achieve in almost any development environment, with Squeak there are a
couple of things to consider.

2-Dimensional movement is possible and it would also be processed faster, as
there is no hardware-accelerated computation and rendering is involved.
Although not the real Cover Flow, a .Mac-like caroussel (I hope I spelled
that right) effect is achievable, and depending on the items that should be
in the effect it would run more or less fast. As Squeak provides mechanisms
for animating Morphs, this could be a possibility.

However, when it comes to 3-dimensional movement, it is a bit tricky on this
one. The original Cover Flow by SteelSkies used OpenGL obviously for the
effect. When Apple took it over, they ported the code into Quartz, and later
Core Animation, which are obviously not available to other platforms itself
the Mac OS X itself. So that said, OpenGL would be required for this effect.
There is one implementation of OpenGL available for Squeak, which
regrettably only runs under the Windows platform as it accesses DirectX if I
remember that correctly. Another way to go is Balloon3D which is available
through SqueakMap. This implementation allows for 3-dimensional computations
in Squeak, and this is where it gets really tricky. For my project I have
also tried to use this implementation. However, as Squeak runs in a virtual
machine, this already puts a brake on the rendering speed. Also, all calls
in the machine are translated into actual C instructions, and is then
compiled at run time. This slows down the process more, and I would not
recommend using this for high-profile 3D computations.

However there is the FFI package, which allows for 'connections' to other
things in the OS platform, also OpenGL. This is the way Croquet did it, and
when I tried it, it ran as fast as any other OpenGL application should. So
my recommendation would be to have a look into Croquet and its base, to see
how you can hook up computations directly with the OpenGL implementation of
the underlying OS.

Then, in theory, you could create a music player that employs Cover Flow in
Squeak, or a file browser with this function ;-)

That's just me...



iMac -- 20 inch -- Core 2, 2 GHz -- 1 GB RAM -- Superdrive -- Mac OS X
Leopard 10.5.3
MacBook -- 13.3 inch -- Core 2, 1.83 GHz -- 1.5 GB RAM -- Combodrive -- Mac
OS X Leopard 10.5.3
iMac G5 -- 17 inch -- PPC G5 1.8 GHz -- 1 GB RAM -- Superdrive -- Mac OS X
Leopard 10.5.3
iPod touch -- 16 GB -- Software Upgrade -- OS X iPhone 1.1.4
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/beginners/attachments/20080616/8aa843af/attachment.htm

More information about the Beginners mailing list