What?! You didn't read my page about Image Filtering yet?! Hurry! Go there while you still can!!!
Sorry, folks, but I had to weed out the uneducated...on to
Assuming you either (a) already saw my image filter page before coming here or (b) clicked on the link above and read that all anyway, you know that we wrote image filters. You also saw all five of them applied to a cropped image of a poor little cow that I stole from the USACO Training Page. You also know (boy, you know a lot!) that my favorite of the filters was the Pencil Outline. So for Part II of Unit 3B, we had to take our filtered image and do something with it in OpenGL (3D, of course). Thus begins the story of ... (mysterious XOR adventurous music cue) Bovine Mountain.
Okay, It's not much of a story. I drew a cube which I scaled to make it more platform-ish. Then I took my filtered cowoutln.ppm file, read it in through my program, and drew it on the platform using GL_TRIANGLE_STRIP and glNormal3fv (for lighting). The height of each pixel depends on how darkly it is colored, which creates the mountain effect.
As my page is always very thought-provoking, I can again hear you thinking. So how did you get the name "Bovine Mountain"? you think. Well, they look sort of like a bunch of mountains, and they were formed from the image of a cow. Clever. So can I see your source code? You do not seem to stay on topic very well. Still, I must oblige: here it is. It also uses a library I wrote myself, based on my Image Filter program, which serves to load the image. That code is here.
How about some images from your amazing program? Well, I suppose I can do it, but only because you asked so nicely... click on a thumbnail below to enlarge it.
Wait a minute...if your program is only what you've told me, how did you get 5 completely different images? Ah, there's more! The following interactive elements enhance my program:
So there really is some interactivity. The screenshots above show some of that. The first picture is a regular shot, with mountains visible but the overall object hard to distinguish. The second picture is the same shot, but zoomed out all the way (the other shots are zoomed in all the way). The third shot is rotated to make the cow distinguishable, and the fourth shot is from directly overhead. The fifth shot is one of the previous views, but rotated in 2 ways, not just 1.