Back to Programs

Science and medicine

CGAL Project

C++ library of computational geometry

c++qt

Participation history

10 GSoC years

2026

7 projects

Official year page

Parallel tetrahedral remeshing using TBB

Iteratively reshaping the cells of a 3D mesh to improve quality for simulations like finite element analysis — is computationally expensive: large...

Homotopy and homology loops on surfaces

We want to implement an algorithm to compute from a surface mesh representation a basis for 1-homotopy and 1-homology groups represented by polylines...

Shaders for Basic Viewer

CGAL's Basic Viewer provides one-call visualization of any CGAL data structure via draw(), but its OpenGL shader system has concrete user-facing...

Ray Marching for Mesh Generation

Some packages in CGAL need to compute the intersections of segments, rays, or lines with an implicit function. This is generally done through naive...

Enhancing CGAL Python Bindings

The current CGAL Python bindings expose powerful computational geometry algorithms, but they've accumulated real usability problems: method...

Feature-aware Manifold Meshing and Remeshing of Point Clouds and Polyhedral Surfaces

Point cloud data is widely used in domains such as reverse engineering, medical imaging, and cultural heritage preservation. However, many...

Spatial Searching on GPU for CGAL

This project investigates GPU-accelerated approaches for spatial searching and mesh intersection in CGAL, a widely used computational geometry...

2025

5 projects

Official year page

Parallel tetrahedral remeshing using TBB

The goal of this project is to parallelize the CGAL Tetrahedral Remeshing package using the Intel Threading Building Blocks (TBB) library. This will...

Dynamic Skeletonization via Variational Medial Axis Sampling – CGAL Integration

The project aims to integrate into the CGAL library an algorithm for medial axis approximation that I developed and published at SIGGRAPH Asia 2024....

Enhancing Visualization of Arrangements on Surfaces

The 2D Arrangements package in CGAL provides an efficient and extensible framework for representing and manipulating arrangements induced by...

Hexahedral Mesh Generation

This proposal aims to develop an advanced hexahedral grid refinement framework (Owen et al. 2017), supporting single-threaded and multi-threaded...

Enhanced Dual Contouring

The goal of this project is to enhance the existing Dual Contouring (DC) method in CGAL by implementing manifold contouring methods. While the...

2024

5 projects

Official year page

Point Sampling of Triangle Meshes with Poisson Disc Sampling

For various applications, a good sampling of triangle meshes is required. While CGAL provides different sampling strategies in the Polygon Mesh...

Hexahedral mesh generation

The goal of this project is to implement the method of the paper "A template-based approach for parallel hexahedral two-refinement", Steven J. Owen,...

Intrinsic Mollification Schemes to Enhance Cotangent Weights Robustness

The project aims to tackle the challenge of low-quality triangles in triangle meshes by mollifying each triangle, effectively simulating improved...

"Enhancing CGAL’s Basic Viewer based on GLFW: Extending Functionality and Refining Implementation

In the past, I played an active role in the development of a lightweight basic viewer for CGAL, utilizing the GLFW framework. The primary aim of this...

CGAL Python Bindings

The CGAL library provides many robust and extensive algorithms, but its use is limited only to C++ experts. My project aims to lower the barrier to...

2023

10 projects

Official year page

Non-rigid Iterative Closest Point

Non-rigid Iterative Closest Point (N-ICP) is a classic method used for the registration of non-rigidly deforming shapes. Non-rigid registration seeks...

Demonstrating 2D Arrangements Embedded on the Sphere

Abstract: Recently the "2D Arrangement" package of CGAL has been enhanced with the support of 2D arrangement of geodesic arcs embedded on the sphere....

Approximated (Discrete) Centroidal Voronoi Diagrams

This project introduces a new simplification (and remeshing) framework to CGAL. Based on the Approximated Centroidal Voronoi Diagrams (ACVD) project...

Curvature Adaptive Remeshing

The goal of the proposed project is to extend the existing remeshing functionality in the polygon mesh processing (PMP) package with the adaptive...

Continous-Time Collision Detection for CGAL

Funded by GSoC this summer, I propose to add collision detection to CGAL in a way that naturally builds on and extends CGAL’s existing AABB-tree...

Polygon repair

Polygons are defined by one outer ring and possibly multiple inner rings representing holes, where each ring is usually represented as a sequence of...

Clustering 3D point clouds

- 1 weeks understanding the article and making small code test to get into the CGAL architecture at this point I should be able to manipulate the...

Geodesic Distance Computation Improvements

The goal of the project is to add the "Virtual Source Propagation" (Trettner, Bommes, Kobbelt 2021) algorithm to CGAL. This algorithm finds...

Vulkan API backend replacement

CGAL has been using OpenGL API to generate its visuals in the 3D demonstrations. With recent MacOS update there, OpenGL support has ben deprecated by...

Constraint-based Point Set Denoising

Many applications of point set surfaces work with noisy point sets, requiring a denoising operation to reconstruct the original surface. This project...

2022

6 projects

Official year page

State-of-the-art Isosurfacing in CGAL

Extracting isosurfaces from scalar functions is a common method for generating 3D meshes. An isosurface is a subspace with equal values of the...

Enhancing basic viewers in CGAL

Visualization is an important aspect of computer graphics because it’s useful to visualize the result of an algorithm and help to debug errors in...

Spectral Surface Reconstruction

Surface reconstruction recovers a watertight surface mesh from a given set of oriented or unoriented point clouds. Given a tensor field that...

Interpolated Corrected Curvature Measures.

This project will implement Interpolated Corrected Curvature Measures for triangular meshes based on “Lachaud, J.-O., Romon, P., Thibert, B. and...

Remove Boost Parameter Dependency

CGAL currently uses the Boost Parameter Library to provide a convenient way for users to pass parameters. However, with the evolution of C++...

Isosurfacing: Marching Cubes and Dual Contouring in Octrees

An isosurface is a 3D surface representation of points with equal values of a scalar function defined in 3D space. The task of isosurfacing consists...

2021

5 projects

Official year page

Moving Least Squares for point set smoothing and differential properties estimation

The goal of this project is to add Moving Least Squares surface reconstruction algorithms to the point set processing component. This family of...

SIMD Optimized AABB Tree

CGAL’s Axis-Aligned Bounding Box Tree is an acceleration structure which speeds up common tasks such as collision-detection. It is used both directly...

Finalizing the 2D Regularized Boolean Set Operations Demo

The Computational Geometry Algorithm’s Library has a program that demonstrates the package named '2D Regularized Boolean Set Operations'. This...

3D Barycentric Coordinates for Convex Polyhedra with Triangular Faces

For this project, I would like to implement 3D Barycentric Coordinates for Convex Polyhedra with Triangular Faces, which is one of the ideas for this...

Mesh Decimation using Probabilistic Quadrics

CGAL currently supports the decimation of triangular meshes using two distinct strategies: Lindstrom-Turk and Garland-Heckbert. These strategies...

2020

7 projects

Official year page

Enhancing the 2D Regularized Boolean Set Operations Demo

CGAL works on computational geometry. It has a Demo version of a package named '2D Regularized Boolean Set Operations'. With the use of generic...

Extend CGAL Point Cloud Registration to Multiple Objects

CGAL recently added wrappers to their library to enable global and local point-cloud registration using the OpenGR library. In the current version,...

Use Embree for Ray Shooting

Introduction of Intel’s Embree and its applications to CGAL in the form of a package "Embree" after sufficient bench-marking. The "Embree" package...

Test of Simplicity for a Cycle on a Surface

The new package "Surface mesh topology" will be available in the next CGAL release. It is concerned with the computation of topological invariants of...

Octree Package

A new package which provides an octree data structure. CGAL’s Shape-detection package depends on an octree for nearest-neighbor calculations. The...

Improve CGAL basic viewer

I'm currently a Ph.D. student at the University of Southern California and focused on computer graphics. This doc proposed my detailed solutions to...

Enhancing the 2D Arrangement Demo (1)

The CGAL 2D arrangement package is capable of creating planar arrangements, and running queries on them. CGAL provides a demo for the package that...

2019

9 projects

Official year page

Make OpenGR be able to work directly with CGAL point clouds

CGAL’s components are used with other libraries to achieve complex tasks, some of which are suffering from the lack of interoperability while some...

Basic Viewers in CGAL: Extending viewers to new datastructures

CGAL provides now basic viewers, i.e. global functions allowing to visualize in 3D some CGAL data-structures. These small viewers are very usefull in...

Enhancing the 2D Arrangement Demo

The 2D Arrangement package can be used to construct, maintain, alter, and display arrangements in the plane. Once an arrangement is constructed, the...

Enhancing the 2D Regularized Boolean Set Operations Demo

CGAL works on computational geometry. It has a Demo version of a package named '2D Regularized Boolean Set Operations'. With the use of generic...

Improvements of the Surface Mesh Simplification package

The project will include adding new approaches to already existing triangulated mesh simplification framework of CGAL. The current approach depends...

Compute a shortest non-contractible cycle on a surface

A new package about the computation of some topological invariants on surfaces is under development in CGAL. The goal of this project is to add a new...

K-DOP tree

Intersection problems are common in many engineering applications, for example, enforcement of non-penetration constraints in contact mechanics,...

Implementing a Fast Distance Computation between Triangle Meshes

Measuring the similarity between two geometric models is an important problem in diverse fields, including computer graphics, computer games, and...

Generalized Global Regularization

For this project, I would like to create a new CGAL package that combines the global regularization algorithm from Section 3 of the KIPPI paper,...

2018

7 projects

Official year page

Extending Generalized Barycentric Coordinates

This project aims at providing another two powerful generalized barycentric coordinates Harmonic coordinates and Maximum Entropy coordinates that...

Spectral Surface Reconstruction

This project aims to build a package for reconstruction watertight surfaces from un-oriented point sets. The first step is to estimate un-oriented...

Smooth Surface Reconstruction

The current implementation of Poisson Surface Reconstruction algorithm in CGAL constructs a continuous, piecewise linear implicit function, i.e. it...

Fast and Flexible Distance Transforms in CGAL

A wide variety of problems in scientific computing and data analysis need to compute accurate shortest paths and distances along curved domains...

Develop a demo to demonstrate the use of Boolean operations and Minkowski sum

CGAL works on computational geometry. It has 2 packages named '2D Regularized Boolean Set Operations' and '2D Minkowski Sum'. My task is to build a...

Generalized Region Growing

Apply the Region Growing algorithm to any user-defined elements

Approximate Convex Decomposition of Volumes Bounded by Triangle Meshes

The algorithm in this project was proposed by Khaled Mamou and Faouzi Ghorbel. It’s an efficient approach to decompose a concave 3D mesh into a set...

2017

4 projects

Official year page

Mesh and Shape smoothing

Currently, CGAL's Polygon Mesh Processing package offers an incremental triangle-based isotropic remeshing algorithm to perform two-dimensional mesh...

Hexahedral mesh extraction

Hexahedral meshing has been proven to be significantly more efficient than tetrahedral meshing in the solving of most PDEs for physical simulations,...

2D Arrangement Demo Enhancement with New Geometric Curves

By playing around with the 2D Arrangement demo, users can have a visual and direct experience on what functionalities to expect from this module...

Variational Shape Approximation

For many applications ranging from geometry compression to reverse engineering, finding the concise and faithful approximation of an excessively...