CMPS 3480
Final Project

A brief look at my attempt at creating
a triangle mesh with a hidden line algorithm.

Scroll Down

Overview

Initial Goal: Create a color wireframe mesh generated by perlin noise.

I began with this project idea because I knew I could get it done. Gordon wanted me to go further so he suggested I look into hidden line algorithms and implement one of them. Great.

Planning

You have to start somewhere right?

Research

This initial part of the project is self-explanatory. Find online-resources that will be useful in completing the project. These included tutorials, youtube videos, and articles. I gave myself two weeks to ease into this.

Phase 1: Noise Terrain

Goals: Make a terrain and find/create a noise generator

Phase 2: The Wireframe Issue

Goals: Create a wireframe model of the terrain and implement the dreaded hidden line algorithm.

Phase 3

Goals: Apply polish and create any functionality needed for the final presentation.

Phase 1

Terrain Mesh

Week 10: To begin with I used lab 7 as a starting point, specifically taking the mesh we created as a starting point. I began to create new functions like getVertexColor(). I applied our perlin2 noise function to the mesh and felt pretty good about my progress so far. .

Phase 2

Wireframe Challenges

Week 11: Drawing a wireframe model in OpenGl actually isn't that hard. You just have to toggle GL_LINE through glPolygonMode. To simplify this I created a function to toggle between the two. Unfortunately, I hit a wall at this point trying to implement a hidden line algorithm.

Phase 3

Secondary features

Week 16: I quickly realized I was running out of time and staying stuck on the hidden line algorithm implmenetation was going to hurt my overall project grade. During this time I decided to explore some other goals I had for the project like creating camera controls for demoing the program and creating a terrain generator that allowed me to seed random terrains into the scene.

Final Thoughts

What I learned

Week 16? 17? who knows. Anyway, this was a fun experience. I felt nervous from the beginning and knew that the project would challenge me but I developed a lot as a programmer through working through issues I ran into with the project.

Check out some Daily Renders Below