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