Graphics Assignments - Lighting, texturing and 3D Model Renderer
I found the first assignment quite easy, I managed to get the basics of it done within a day, then had the next few weeks to polish it and increase my grade. The second assignment, however, was a lot harder, it required me to create a program that could load in a 3D model and render it using OpenGL. I found these assignments were the most challenging assignments I have had since joining the university, but still managed to complete both to a 1st.
The hardest part of this assignment was definitely the 3D Model renderer. I had never looked into the logic of how 3D models were loaded before, and I had never used the techniques needed to complete the assignment, however, this meant that I learned more from that than the rest of the assignment, so I'm glad I was able to complete it.
The easiest part of the assignments was probably transformations, this was because it felt most like what I'm used to when using Unity. I was able to use my knowledge from using Unity to make the transformations better by implementing the use of delta time and making functions that could use that to smoothly move between 2 points at a set speed no matter what machine the program is running on.
I was very happy with the final products of my assignments, and they managed to both get me a first. the second assignment was a lot more complex than the first, however, it was basically a more advanced version of the first, so I was able to use what I had learned in the first assignment as the groundwork for the second. This meant that I could focus on learning the harder parts of the assignment.
My 3D model loader was able to not only read the model and build it in the scene, but also its normals, and texture vertices, this meant that I could import any OBJ file and have it work in my renderer, including its textures and normals, so lighting will effect it correctly.
If I had more time, I would have liked to switch back from vectors to arrays, I experimented with these so that I could input any model without having to set the number of vertices within the script. once I realised that using vectors made the program run slower, it was too late to change the whole program again as I was in the last week before the deadline. this wasn't all that bad though as it gave me something to talk about in the write-up, I was able to turn the problem into more marks.
You can find my finished assignments here on GitHub: https://github.com/ElliotChester/Portfolio
Comments
Post a Comment