Novel technologies for the manipulation of meshes on the CPU and GPU : a thesis presented in partial fulfilment of the requirements for the degree of Masters of Science in Computer Science at Massey University, Palmerston North, New Zealand
This thesis relates to research and development in the field of 3D mesh data for
computer graphics. A review of existing storage and manipulation techniques for mesh data is
given followed by a framework for mesh editing. The proposed framework combines complex
mesh editing techniques, automatic level of detail generation and mesh compression for
storage. These methods work coherently due to the underlying data structure. The problem of
storing and manipulating data for 3D models is a highly researched field. Models are usually
represented by sparse mesh data which consists of vertex position information, the
connectivity information to generate faces from those vertices, surface normal data and
texture coordinate information. This sparse data is sent to the graphics hardware for
rendering but must be manipulated on the CPU.
The proposed framework is based upon geometry images and is designed to store and
manipulate the mesh data entirely on the graphics hardware. By utilizing the highly parallel
nature of current graphics hardware and new hardware features, new levels of interactivity
with large meshes can be gained. Automatic level of detail rendering can be used to allow
models upwards of 2 million polygons to be manipulated in real time while viewing a lower
level of detail. Through the use of pixels shaders the high detail is preserved in the surface
normals while geometric detail is reduced. A compression scheme is then introduced which
utilizes the regular structure of the geometry image to compress the floating point data. A
number of existing compression schemes are compared as well as custom bit packing.
This is a TIF funded project which is partnered with Unlimited Realities, a Palmerston
North software development company. The project was to design a system to create,
manipulate and store 3D meshes in a compressed and easy to manipulate manner. The goal is
to create the underlying technologies to allow for a 3D modelling system to become integrated
into the Umajin engine, not to create a user interface/stand alone modelling program. The
Umajin engine is a 3D engine created by Unlimited Realities which has a strong focus on
multimedia. More information on the Umajin engine can be found at www.umajin.com.
In this project we propose a method which gives the user the ability to model with the
high level of detail found in packages aimed at creating offline renders but create models
which are designed for real time rendering.