overview.md 2.95 KB
Newer Older
Hui Wang's avatar
Hui Wang committed
1
2
3
4
5
6
7
8
9
10
[[Home]](/docs/index.md)  [[User Guide]](/docs/guide/guide.md) [[Mesh Edit]](/docs/meshedit/overview.md) [[Path Tracer]](/docs/pathtracer/overview.md) [[Animation]](/docs/animation/overview.md)

---


# MeshEdit Overview

MeshEdit is the first major component of Scotty3D, which performs 3D modeling, subdivision, and mesh processing. When implementation of this tool is completed, it will enable the user to transform a simple cube model into beautiful, organic 3D surfaces described by high-quality polygon meshes. This tool can import, modify, and export industry-standard COLLADA files, allowing Scotty3D to interact with the broader ecosystem of computer graphics software.

The `media/` subdirectory of the project contains a variety of meshes and scenes on which the implementation may be tested. The simple `cube.dae` input should be treated as the primary test case -- when properly implemented MeshEdit contains all of the modeling tools to transform this starting mesh into a variety of functional and beautiful geometries. For further testing, a collection of other models are also included in this directory, but it is not necessarily reasonable to expect every algorithm to be effective on every input. The implementer must use judgement in selecting meaningful test inputs for the algorithms in MeshEdit.
Hui Wang's avatar
Hui Wang committed
11
Once you implement an operation, you can test your implementation in [Model Mode](/docs/guide/model.md). See [Operation Guide](#operation-guide)
Hui Wang's avatar
Hui Wang committed
12

Hui Wang's avatar
Hui Wang committed
13
For this assignment, you will implement methods in `student/meshedit.cpp`. The following sections contain guidelines for implementing the functionality of MeshEdit:
Hui Wang's avatar
Hui Wang committed
14
15
16
17
18
19
20
21
22
23
24
25
26
27

- [Halfedge Mesh](/docs/meshedit/halfedge.md)
- [Local Mesh Operations](/docs/meshedit/local.md)
  - [Tutorial: Edge Flip](/docs/meshedit/edge_flip.md)
  - [Beveling](/docs/meshedit/bevel.md)
- [Global Mesh Operations](/docs/meshedit/global.md)
  - [Triangulation](/docs/meshedit/triangulate.md)
  - [Linear Subdivision](/docs/meshedit/linear.md)
  - [Catmull-Clark Subdivision](/docs/meshedit/catmull.md)
  - [Loop Subdivision](/docs/meshedit/loop.md)
  - [Isotropic Remeshing](/docs/meshedit/remesh.md)
  - [Simplification](/docs/meshedit/simplify.md)

As always, be mindful of the [project philosophy](/docs/index.md).
Hui Wang's avatar
Hui Wang committed
28
29
30
31
32
33
34
35
36


# Operation Guide<a name="operation-guide"></a>

1. Compile and run Scotty3D
2. In `Layout` mode (which is the default mode when you first open Scotty3D), click `Import Objects` to import the mesh from `/media`. We recommand you to start with simple models as primary test cases, such as `cube.dae` and `cow.dae`.
3. Switch to `Model` mode, select the object by clicking the checkbox in `Menu`. You can now change the mesh color and perform **global operations**.
4. When an object is selected, you can also select individual vertices, edges, or faces in the scene to see their information and perform **local operations** or adjust their positions in the scene.
5. Once you have created your own object, you can export it by clicking `Export Scene` in `Layout` mode.