forked from bshea5/Workspace_3D
-
Notifications
You must be signed in to change notification settings - Fork 0
Frame3D/Workspace_3D
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Brandon Shea CS351 Final Project May 04, 2014 **** mini-modeling program with Catmull-Clark sub-division **** The program creates a visualization of the current mesh object. The vertices for the mesh are stored in a Mesh class where they can be accessed and adjusted. The attributes of the mesh and accessed through the controller class which acts as the medium between the display class and the mesh class. The display creates and orientes all the widgets that control the program. The glWindow takes the vertices and attributes of the Mesh class, and draws them on screen. Currently, each mesh is drawn with Quads. When the program opens, it will create and display a random mesh. The user can set the number of columns and rows, set their depth and width respectively, and create a new mesh based off those settings. The color can also be changes in real time. The user can select the number of sub-divisions, and press the 'Smooth this Mesh' button to use the Catmull-Clark sub-division formula to smooth the mesh n number of times. Each vertex can be selected by choosing the row number and column number. You can than adjust the z-value of that vertex. To keep your changes to the vertices, press the 'update vertex changes button'. Keep in mind, this will also save the number of times it has been sub-divided. If you do not update after changing vertices, smoothing the mesh will not consider your changes. You can enable top and front views, as well as enable wireframe mode. Print will display all the vertex values of the mesh in the console window. Side-Note: I wanted to challenge myself with the Catmull-Clark formula. It is something I wanted badly to accomplish since Pixar uses it so I'm very happy that I was able to get this program to work. Known Bugs: 1. Random isn't so random. Always seems to start with the same mesh.... Even though I set it to build a random mesh. 2. Don't Smooth too much. As expected, too much smoothing will take decades, so it is currently limited to 6 sub-divisions. 3. Exit button cuts off. When you first open the program, the exit button is only half showing, but if you move the window, the rest appears.
About
Catmull-Clark demonstration
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C++ 100.0%