Computer Graphics I 2018 Rendering Competition

Firefly Forest


On a summer night, with the sky still a touch blue from the late setting sun, we arrive at a quiet pond surrounded by lush green grass and blooming pink crysanthemums. Fireflies dance merrily around the blossoms in celebration of new life, while the silhouettes of the lifeless trees reflecting in the pond are a sombre reminder of the nuclear disaster many years ago.


The assets for the scene were created with Blender 2.79, including the geometry, textures, and compositing the scene. The basic objects are the forest floor, the flowers, the grass, and the tree. Blender's particle system is used to populate the forest floor with flowers and grass. All the textures are downloaded from Google Search Images.


Forest Floor

The geometry of forest floor is shaped out of a plane using the Sculpt tool in Blender.


Flowers and Grass

Three flowers and grass leaves with different image textures are created manually.



The tree is modified from a model obtained from Blender Guru tutorial: Make a Grassy Meadow Scene.

The materials and lighting are modeled in our ray tracer.


First Test

For the first test, the scence is rendered assuming all the surfaces are lambertian. 100 yellow point lights whose locations are randomly generated are used to illuminate the scene.


Final Scene

The final scene consist of 69,267 faces and 103,671 vertices. Bounding box hierarchy with surface area heuristic is used to accelerate the ray intersection compuation.


Ambient Light

Since the main light source is yellow, we need additional ambient blue light to keep the color in the image balanced. Point lights near the camera and background area lights are used.

We test various light sources and their effect in delivering our concept. In the first two images below, 100 little yellow spheres are randomly generated to represent the fireflies.


Fixed Point Lights

5 point lights with strong intensity are carefully placed to illuminate the scene.


Randomly Generated Point Lights

39 Randomly generated point lights are used to illuminate the scene.


Fireflies as Small Spherial Area Lights

42 fireflies are randomly generated as small spherial area lights to illuminate the scene. Here 1 ray per pixel is used.

Final Render (40 rays per pixel)


Final Render (120 rays per pixel)



Tianqi Fan