Tennis Court Scene

Eugenia Leong
Lynn Nguyen


For the rendering competition, we decided to create a tennis scene. A simple scene with a tennis ball and some lighting. Random? Maybe not. Being confined in the labs leaves a yearning to enjoy the great outdoors and exercise. Because we couldn't actually go outsides ourselves, we decided to satisfy our yearnings by rendering a tennis scene. It was perfect, spheres (tennis balls) are a perfect geometry to do whatever we want, there are so many different colors we can choose for the court, AND we even get to live out our desires through the project. And also, Eugenia is just plain crazy about tennis. In fact, as I slave over this webpage, she is watching a tennis game. Ridiculous! Anyways...
This was our inspiration:

Our original plan was to have a couple of tennis balls on a tennis court ground. We were going to use bump mapping, fuzzy textures, depth of field, soft shadows, and path tracing.
The final scene we rendered (as seen at the top of the page) was created through the following techniques:


Are you kidding. We're CS majors not modelers. We didn't model a thing. We found awesome tennis ball models online and the bunny is a quite well known model in the CS community. Since our scene wasn't very efficient (we render every awesome triangle even if it's not shown), we beheaded the bunny and only the head of the bunny was included in the scene.



Path Tracing

Path tracing simulates indirect diffuse lightnig by tracing diffusely reflected rays. This is a super slow technique and we modified it a bit so that it wouldn't take as much time. Typically, path tracing is supposed to trace a ray multiple bounces. However because it takes so long, we only traced one bounce of our reflected rays.

Soft Shadows

Originally our scene only had a point light. The point light cast hard shadows. This is because the source of light is a point that is infinitely small so objects are either in direct sight of the light (fully illuminated) or they are not (fully in shadow). But in real life, things can be in partial shadow. This is accomplished in our scene through the use of a square area light. That way, objects can be in partial shadow. This first trophy is illuminated by a point light, so notice the hard shadow. The next one This next trophy is illuminated by an area light. Looks much better.

Bump Mapping

For the ground of the tennis court, we implemented bump mapping for a realistic feel. But for an extra dash of reality, we threw in some perlin noise. You can create a good ground just with bump mapping, but adding in noise makes it look more realistic.
The many trials of perlin:

The final (with bump map):

Depth of Field

Depth of field also adds reality to an image and makes it look like a camera was used. The images look too hard and clear without depth of field. The first image was our first implementation of depth of field. As you can see, the plane of focus was obviously set at the ball that is further from the eye. Eh. It was an effort. After a little fiddling, we decided that we should jitter the camera a lot less and we ended up with the second image.

Glossy Reflection

The trophy was originally just purely reflective. However, that looked way to unrealistic. So, a little diffuse color was added in. However, that was still unrealistic. So, we added in environment map and added in glossy reflection. This combination created a realistic looking trophy that we were going for.

Animal Fur

This one was fun. There are so many different articles on rendering hair. In the end, we just decided to use two different techniques (one for the tennis ball, one for the bunny) and mix in a little bit of our own creativity.