Overview

This project aims to visualize the performance of digital sculpting algorithms. In digital sculpting, the underlying geometry of the surface can play an important role in the content creation process. For example, a digital sculpting brush might be implemented as a function of the geometry underneath it, meaning that bad topology can cause brushes to behave in unexpected and sometimes frustrating ways. For someone interested in designing art tools, visualizing the performance of these techniques and the surface characteristics that they produce is something that may be useful in developing a successful implementation. This is the essence of what this final project aims to explore.

The project will look at a sculpting algorithm based on an adaptive algorithm and visualize the performance as the user sculpts on a surface.

A sculpture example for the algorithm in [1].

Goals (Components and Features)

  • User Interface.
  • Sculpting System.
  • Rendering System.

A small custom user interface will be implemented for the project. The sculpting system will include three brushes (standard, smooth, and grab). The rendering system will provide layered rendering (scene, widget, ui).

The project will be done in C++ with OpenGL and FreeGLUT. (If there is time, FreeGLUT will be replaced with an interface layer and Windows system code.) A forward OpenGL context will be used.

The surface is rendered in blue, points are rendered in white, and lines are rendered with black dashed lines. When the user sculpts, the changes will be immediately colored red. Over time, they will fade to blue. When new geometry is added (as a result of the algorithm), lines will be rendered as bold black lines. Over time, in sync with the color, the width of the lines will reduce to its natural width and the line will the be rendered as a black dashed line.

In addition, there will be a user interface for the user to observe other visualizations as they sculpt. The two current visualizations planned are color maps demonstrating the stretching of polygons, the uniformity of polygons, and the number of edges connecting to a vertex.

Timeline

Let time t = 0 denote the Friday that the final proposal is due. The proposed timeline is as follows.

Time (weeks) Job
0 UI Layer. UI Elements.
1 UI Elements. Sculpting Algorithm.
2 UI Elements. Sculpting Algorithm.
3 UI Elements. Sculpting Algorithm. Statistics Gathering.
4 Graph Display. Surface Visualizations.
5 Surface Visualizations. Stretch Coloring. Interactive Color Fading.
6 Surface Decimation (extra). Surface Retopologizing. (extra)
7 Alternative Algorithm. (extra)

References

  1. Freestyle: Sculpting Meshes with Self-Adaptive Topology
    Lucian Stanculescu, Raphaelle Chaine and Marie-Paule Cani
    Computers & Graphics (2011)
  2. Resolution Adaptive Volume Sculpting
    Eric Ferley, Marie-Paule Cani and Jean Dominique Gascuel
    Graphical Models (GMOD) 63 (2002) 459-478
  3. Sculpting: An Interactive Volumetric Modeling Technique
    Tinsley Galyean and John Hughes
    Computer Graphics, Volume 25, Number 4, July 1991
  4. ShapeShop: Sketch-Based Solid Modeling with BlobTrees
    R. Schmidt, B. Wyvill, M. C. Sousa and J. A. Jorge
    EUROGRAPHICS Workshop on Sketch-Based Interfaces and Modeling (2005)
  5. Metro: measuring error on simplified surfaces
    P. Cignoni, C. Rocchini and R. Scopigno
    Computer Graphics Forum, Blackwell Publishers, vol. 17(2), June 1998, pp 167-174