120 likes | 195 Views
Creating Seamless Display Walls with a Single PC. Grant Wallace and Han Chen. Motivation. Inexpensive, High Resolution, Collaborative Display Single PC Avoids clustering issues Run a desktop environment across display Run favorite applications without modification
E N D
Creating Seamless Display Walls with a Single PC Grant Wallace and Han Chen
Motivation • Inexpensive, High Resolution, Collaborative Display • Single PC • Avoids clustering issues • Run a desktop environment across display • Run favorite applications without modification • Best for small tiled displays • Automatic alignment • Improves display quality • Reduces maintenance expense
Example: PPPL Control Room • PPPL can benefit from a small tiled display (2-3 projectors) • Should allow scientists to easily run common applications • Should have automatic alignment • Projectors difficult to access - ceiling mounted • Keystone unavoidable do to projector placement
The Easy Part • Single PC Tiled Display without alignment • Buy PC, quad graphics card and projectors • Plug everything together • Tell OS to span desktop across displays
Some Already Solved Challenges • Aligning an application • We have a system to produce an alignment transformation for each projectorScalable Alignment of Large-Format Multi-Projector Displays Using Camera Homography Trees IEEE Visualization 2002 • We can apply these transformations in real-time to an application
Projector Alignment Stages: 1. Capture 2. Optimization 3. Warping LCD lens PC Projector Screen
The Remaining Challenge: Aligning the Desktop • Apply an alignment transformation to a desktop environment • Requires system hacking • Must intercept or redirect the OS rendering calls • Possible Hardware Alternatives • Vendor based hardware solutions - expensive • NVKeystone • Only warps 1 output • No programming interface (API)
Application Level Solution • Divide the output displays into 2 groups • Group 1 shows the usual desktop • Group 2 runs our application • What our application does • Reads back pixels from Group 1 frame buffer • Applies alignment transformation to Group 1 pixels • Redisplays pixels in full screen mode on Group 2 Displays • Trade off • Lose half of our display outputs • Gain automatic alignment
Diagram of Desktop Warping VGA 1 VGA 2 Grab Pixels from desktop Windows Desktop Rendered VGA 3 VGA 4 Application Shows Desktop Warp Pixelsto Application
The Resulting Display • Projectors initially roughly aligned and keystoned • Geometry corrected for seamless appearance
Application Specifics • Uses DirectX to read desktop FB • Texture mapping warps pixels to App FB • Requires Desktop FB and App FB have shared memory on a per-pair basis • Performs warping at 30Hz • Consumes ~25% CPU on 800 MHz PC • Reduces a Quad card to a Dual Card
The Result…Inexpensive Collaborative Walls • Questions and comments