Big Data Project Suggestions

Some possible projects:

Screen partitioning algorithms
Write a simple sort-first rendering simulator and implement the various screen partitioning algorithms described by Mueller in his Ph.D. thesis.  Do your findings agree with his?  Implement some alternate strategies, like Samanta's.  Try to come up with alternate screen partitioning strategies and compare them to the ones in the literature.  One possibility would be to learn a partition with a neural network or genetic algorithm.
Tone mapping operators
Think about new tone mapping algorithms.  In particular, the recent addition of floating-point to the graphics pipeline should make it possible to render physically-correct light intensities. However, a tone-mapping step would be required to map the high-dynamic-range rendered image to the capabilities of the display device. What tone-mapping algorithms would be appropriate for real-time use or implementation in hardware? Would new hardware capabilities be needed to support these algorithms? What performance could be expected?
3D for thin clients
What would be required to bring interactive 3D graphics to a thin client like a Palm Pilot or a Pocket PC?  Use Chromium to deliver streaming images over a wireless network to a thin client.  What resolutions can you support?  What compression algorithms are appropriate for these types of devices and networks?  Add interactivity to your client.  How does the latency of the network affect the type of application that works well with remote image delivery?
Compression in the graphics pipeline
Explore the use of compression in various places in the graphics pipeline, and discuss the bandwidth implications (i.e., how much does your technique save, and how fast would the link have to be to make your technique not worthwhile).  Read and summarize the relevant work on compressing geometry and texture.  Find out as much as you can about how commercial hardware implements compression, particularly of the depth buffer.  One area that has remained largely unexplored is compression of color data.  Add framebuffer compression to glsim.
General computations on graphics hardware
Current graphics hardware supports substantial programmability at multiple stages in the pipeline.  Explore how various kinds of computations can be mapped to graphics hardware.  Implement a non-trivial algorithm using one or more modern graphics cards.
Deferred Shading
Implement a deferred shading algorithm within the graphics pipeline where the z buffer is rendered first (possibly at a different resolution than the framebuffer) and pixels are shaded in a second pass. Explain the tradeoffs between deferred shading and traditional rendering and provide examples of when it can and cannot help performance.
Casually aligned projector arrays
Modify Chromium's sort-first tiled rendering SPU to support off-axis tilings using stream transformations.  Implement automatic camera-based calibration for the projector setup in the graphics lab, and demonstrate an unmodified application running correctly in this environment.
Mesh simplification
Investigate the state-of-the-art in mesh simplification techniques.  Think about automatic simplification of immediate-mode streams (talk to Dave Luebke if you're really interested in this topic).
Non-photorealistic stream rendering
Use Chromium to implement various non-photorealistic rendering styles (read Mohr and Gleicher's papers for some ideas).  Can you extend this work using Chromium's state-tracking library?  Discuss the applicability of non-photorealistic rendering to scientific visualization, using actual renderings to back up your claims.
Parallel ray tracing
Write a simple ray tracer, and parallelize the computation across a cluster of workstations by tiling the screen.  Experiment with tile sizes and work assignment policies.  Also experiment with not replicating the graphics database.
Texture Caching for Multitexturing
Evaluate the impact of multitexturing and dependent texturing on the texture cache. Extend the studies of Hakura and Gupta, Igehy et al.
Whatever you want...
If none of these projects strikes your fancy, come up with something cool on your own, and run it by me.

Greg Humphreys