Back from WWDC


Amira running through Chromium on the WWDC07 Display Wall

Yesterday I got back from WWDC – what a week! In addition to the prepared demo of Google Earth, Amira and VMD, we have managed to get two additional applications to run on the display wall through Chromium: LigandScout (molecular modeling) and SOAP (GPS satellite analysis).

The display wall was gorgeous, and even bigger than expected. We had a total of 18 30-inch Cinema Displays, arranged in a 6×3 layout. The other hardware was also standard Apple hardware you’ll get at the store: nine MacPro’s with a ATI x1900 graphics card, gigabit ethernet and one MacPro as the master to run the applications.

Google Earth running through Chromium on the WWDC07 Display Wall

People walking by were stunned by the size of the wall, and all applications looked fantastic and showed a variety of use cases. Often people lost a sense of scale and assumed we use 23-inch displays 😉

In the afternoons I’ve had some time to attend the conference, and heard quite a few interesting talks.

Drop me a note or a comment if you’ld like to see a specific application picture.

8 Responses to “Back from WWDC”

  1. Sean Ahern Says:

    Mind posting (or emailing) your Google Earth Chromium configuration file?

  2. eile Says:

    Here is the config for a two-node setup. We were using the TG broadcast SPU, but afair I also tested the tilesort SPU with success:

    # Copyright (c) 2001, Stanford University
    # All rights reserved
    #
    # See the file LICENSE.txt for information on redistributing this software.

    import sys
    sys.path.append( “../server” )
    from mothership import *

    cr = CR()
    cr.MTU( 1024*1024 )

    TILE_COLS = 2
    TILE_ROWS = 1

    ACTUAL_COLS = 2
    ACTUAL_ROWS = 1

    TILE_WIDTH = 1440
    TILE_HEIGHT = 900

    TILES = [ (1, 0, 0 ),
    (2, 1680, 0 ),
    ]

    tilesortspu = SPU( ‘broadcast’ )
    tilesortspu.Conf(‘retile_on_resize’, 1) # the default
    tilesortspu.Conf( ‘bucket_mode’, ‘Broadcast’ )

    clientnode = CRApplicationNode()
    clientnode.ClientDLL( os.path.join(crlibdir,’libcrfaker.dylib’) )
    clientnode.SPUDir( crlibdir )
    clientnode.SetApplication( sys.argv[1] )
    clientnode.AddSPU( SPU( ‘array’ ))
    clientnode.AddSPU( tilesortspu )

    for row in range(TILE_ROWS):
    for col in range(TILE_COLS):
    (machine, x, y) = TILES[row*ACTUAL_COLS + col]
    node = CRNetworkNode( ‘node%d’ % machine )
    node.AddTile( x, y, TILE_WIDTH, TILE_HEIGHT )

    renderspu = SPU( ‘render’ )
    renderspu.Conf( ‘window_geometry’, [0, 0, TILE_WIDTH, TILE_HEIGHT] )
    renderspu.Conf(‘fullscreen’, 1)

    node.AddSPU( renderspu )
    node.SPUDir( crlibdir )
    cr.AddNode( node )

    tilesortspu.AddServer( node, protocol=’tcpip’, port=7000 + machine )

    cr.AddNode( clientnode )
    cr.Go()

  3. gwhiz Says:

    The networking and such would be fun to read about it you have the time to blog it.

  4. Anyone Using Chromium? « gWHIZ Says:

    […] Using Chromium? Wondering if there’s anyone out there (beside Stefan) using Chromium on a regular […]

  5. Chris Williams Says:

    I saw your demo at WWDC07, it was fantastic!

    What was the name of the other project that was demoing using the same display wall? It wasn’t doing distributed rendering, more of a display wall application.

  6. eile Says:

    It was Quartz Composer-based. The actual source code to distribute and synchronize the compositions is part of the developer example code on the Leopard DVD. I don’t remember its name, but it is easy to find.

  7. tovorinok Says:

    Hello

    Great book. I just want to say what a fantastic thing you are doing! Good luck!

    G’night

  8. Chris Williams Says:

    Fantastic. Love your blog and your work. Cheers.

Leave a comment