Kyle Hougen's POV Ray Project

This project was to help celebrate Alberta's 100th anniversary, I had to use POVRay to produce a high quality ray
traced image of some local (i.e. Southern Alberta) landmark. The description can be found here(PDF).

I chose the former Agricore United Elevator, located in Foremost, AB. A small village where I grew up in 117km ESE from Lethbridge. This type of elevator is a one of a kind in Alberta. The style of it is called a Buffalo Slope Elevator and there are only two in the world. It is now owned by a local family. After Agricore United demolished or sold most of their small capacity elevators.


The final result was: (there are more pictures as well)

The code can be found here. It is about 550 lines along with a few comments for each object.

What I liked

I really enjoyed making this project since the elevator has sentimental value for myself. Even though getting the colours and lighting to a realistic quality was strenuating. The different shades of concrete were hard to get right as well. I enjoyed it and am quite happy with the final result, since all i used was the two above pictures to base my three dimensional image on.

Problems and Struggles

The POV Ray Code was initially quite hard to use and I had problems spatially imagining how each triangle and box had to be positioned. After a couple of hours it became much easier to develop. Most of the elevator is made up of individually laid out boxes. The green pit and lower half of the elevator are two boxes. The roofs of the elevator usually consist of two equal-area triangles placed together to make a face. There were quite a few parts where I struggled constructing the elevator.

The biggest two problems I had was creating the foundation pillars on the side of the elevator, and creating the simple railings on the driveway into the pit area. In my design of the elevator I had many global variables. These variables controlled aspects of the width, depth, and height for the elevator. This was just in case I had to make the elevator deeper; I could just change one variable. This made it hard to control the ratio of width between each pillar. It took me a while to figure out the while loop to create the pillars in exactly the same relative position no matter how deep the elevator was.

The other problem with the rails also involved a while loop, but this time I had to get the ramp’s vertical pipes to the proper height according to their position. The formula I devised used tangents and finding the correct ratio to place the pipes in the correct location with the right height, since again I could extend the ramps by changing one global variable.

However, since the elevator was mostly symmetrical I used a lot of while loops to copy the same features on both sides this saved a lot of time.


My Laptop, a Compaq AMD 2000+ with 512 MB and an integrated graphics card, did not like to render the grass around the elevator. I originally wanted to have grass every where around the elevator except for the dirt around it. The grass was simply a cluster of skinny cylinders that had been blurred so you couldn't see them well. I thought it looked great in small sections in a couple of test files. I had a nested while loop to create the grass in the elevator picture but the first time I ran it my computer ran out of system memory and the subsequently crashed. So instead I created a small patch in front of the camera to give the illusion it was everywhere.

More Angles and Pictures

On the left, was an early picture of the ramp I had created before I had both railings on and the vertical pipes holding the top railing. The right is the elevator motor on the top of the structure, complete with the belts and bearings.

On the left, a top view of the elevator. On the right, a side view of the elevator with the original sign Agricore United sign photoshopped on.

Another top view of the elevator and a long-lens shot of the building with green grass.

Created by: Kyle Hougen. Date Modified: February 14, 2005.