Friday, April 12, 2013

Week 10 - Intermediate Graphics

This is going to be my last blog for this class, and I just wanted to highlight my experiences learning about shader based OpenGL and special effects in games.

I have to say that when I started this course I expected it to be hard. I had looked at GLSL over the holidays and knew that what I had learned in the Introduction to Graphics course wasn't enough to get up to the level that we'd be working at.

During the first week we went through basic old deprecated OpenGL and how it works. This was a good summary of the Introduction to Graphics course, and was a good refresher after the holidays. During the second week we went over the shader pipeline, and learned what exactly vertex and fragment shaders. This was covered towards the end of the Intro to Graphics course but not very clearly, so this lecture made it very simple as to what exactly the vertex and fragment shaders do.

All the lectures after that were easy to follow along, even if I didn't understand the concepts at first.

My one problem, which was a problem for me really, was that in our Introduction to Graphics course, I didn't fully grasp how to use VAOs and VBOs. The reason this was a problem for me was that I really wanted to try some advanced shaders that required the use of core GLSL but I couldn't because my framework had been fully set up in archaic OpenGL. Hopefully over the summer I will be able to complete every shader we learned in class, as I understand the material at a high-level, but I just need to implement it to get experience with the shader effects and how they work.

The only thing that I would say I wished we could have had in this course was learning about color spaces and the real math behind color. We had one tutorial that mentioned the subject of color spaces, and we talked about, at a very high level, what HSL (hue, saturation, luminance) was and how we can use it to perform certain post-processing, but I wish we had covered it a little more in-depth or been given some good resources so that we could read up on the subject on our own time. I did do my own research however to figure out how to do some Photoshop post-processing replication in shaders, but I felt like I wasn't even scratching the surface.

Which leads me to the aspect of this course that I love, which is the fact that we have to teach ourselves. I hate information being spoon-fed to me. I always end up zoning out and not caring because I know in the back of my head that somewhere in the lecture slides that day lies the answer to my question. It makes the course boring when information is just thrown at you off a slide and there's no discussion or real application. This course is the opposite. The lectures were engaging, and important. It wasn't as though we were left alone; Dr. Hogue and our TAs Mina and Dan are approachable and will help steer you in the right direction any time you ask, but the course requires students to put actual thought and effort into their work. There's no BS in this course, and you can't BS your way out of it.

All in all I think the course is well designed, and I can surely say that I learned more in this course than I did in all my other classes this semester put together.

No comments:

Post a Comment