My Tutorials


Half-edge and CGAL




6 More GUI

8 Selecting and Picking

A introduction to Half edge data structure using CGAL and OpenMesh (update:01-28-2007)

CGAL Tutorial (update:05-10-2007)

  • Installation (Setup QT, ...) ;
  • Using CGAL;
  •  Understanding CGAL;
  • Visualizing CGAL

Basic Mesh Processing (update:01-28-2007)

  • Getting Started with CGAL;
  • Necessary C++ using CGAL
  • What we offer to you
  • Assignments and Projects

Getting Started with CGAL(update:01-28-2007)

  • Overview of CGAL
  • CGAL in general
  • Geometric Kernel
  • Geometric Data Structure
  • Generic Programming and the Basic library


A tutorial to C++ (update:01-28-2007)

  • Setup a Console Applicatioin in VC8
  • Command line argument
  • Calling a opensource library in a console application
  • Debugging C++


A tutorial to FLTK (update:12-20-2006)

  • Setup FLTK Application in VC8


A tutorial to OpenGL [Source code included]  (update , 01-18-2007):

1 Abstract and 2 Introduction

doc (a drat in process)

3 Setting up a OpenGL project using VC8

In this section we will create a OpenGL project using VC2005 and FLTK.

doc; code (update , 01-18-2007)

 4 Take pose

In this section, you will learn to how to draw 3D objects and transform them.

 5 Take photo

After this section you will be able to load a mesh from OFF file, use camera to take photo and place the 3D model in the proper position according to the size of window, automatically.

doc; code (update , 01-18-2007)

6 More GUI

Use some widgets of FLTK to add interaction. User can control some options of rendering the mesh, such as polygon model, shading option, superimpose vertex, superimpose edge, etc.


7 Mouse and keyboard input

Use mouse to zoom, rotation and translate the view by arcball. Use keyboard to trigger some events. You will find info about arcball from tutorial 48 of [Nehe].
We will create a project based on project FLTK_OpenGL_Mouse_Keyboard to show how to handle events in FLTK. In this project, user can transform the mesh with mouse and switch between full screen mode and non full screen mode using keyboard, etc.


8 Selecting and Picking

Select vertices of a mesh. For select the whole mesh, we refer you to tutorial 32 of [Nehe].


9 Texture



10 Lighting and material


11 A more complicated project

  • Picking vertex, edge, face
  • Parameterization, distortion evaluation
  • Texture, Material, Light, …
  • Open OBJ and OFF files


12 Animation


See 3D-Drawing and Animation with OpenGL of [tutorial 1]
13. Shading