1
edit
Changes
Sudo
,→Progress
== Progress ==
=== Assignment 1 ===
Catmull-Clark Mesh Subdivision
After browsing C++ repositories on GitHub in search for a 3D model viewer application, I came across the following repository: https://github.com/tsong/viewer
This repository caught my interest as it was amongst the more straight forward 3D model viewing applications with available source code.
Upon compiling and running the application I played around with it to determine any procedures which seemed like they would benefit from an increase in speed. I found that when calling for subdivision the loaded mesh took a very long time to complete. As a result, I’ve decided to take a look at the code which is involved in that process to determine whether it can benefit from parallelizing.
I made some changes to how the application runs in order to profile only the subdivision procedure. I removed the GUI component, and made it so that the only thing the application would do is load a mesh, and then perform the subdivision 4 times.
[[File:Subdivision_indexOf.jpg]]
Analyzing the code, it can be seen that the call structure goes as following:
-> Scene.subdivide(4)
The vast majority of time is being occupied within the addFaces method, where a vast part of that time is occupied getting the index of the edges in the mesh.