CSE - Aoelian Sand Ripples Simulation

This research project extends prior development of a low-latency 3D particle simulation presented in a surface's tangent space [presentation at 5:12:00] . The work re-envisioned how to model particle simulations in this domain resulting in a scalable parallel simulator that operates at about 20x the speed of a counterpart technique [Taylor, Keyser 2023]. Primary objectives of this project will be to integrate more features into the existing codebase, build real-time demos, and work on an academic paper.

The project will cover discrete and continuous simulation, graphics programming, numerical methods, and performance benchmarking. Students new to graphics programming are welcome, but an ability to program in a C-style language with some experience in OOP is required. Software engineering protocols will be outlined within the first meeting, and will include introduction to job/ticket management expectations.

The primary interactive CG focus is on sand displacement by wind [Aoelian] and will have students work on developing a terrain displacement interactive application. Additional graphical models can be proposed during the semester, and existing developments using this technique are available. Students working on this project will collaborate on the final set of deliverables for the paper submission (i.e., paper, supplemental materials, etc..).

Name of research group, project, or lab
GESS Lab
Why join this research group or lab?

The Game Engines and Simulation Systems (GESS) lab is focused on building compelling new tools for interactive applications. Tools and practices found in video game development extend to other real-world applications and problem solving skills as game engines are simulators which try to maximize compute based on combinations of numerical methods and algorithms deployed. By building tools and solving problems within the scope of interactive software, soft/hard real-time constraints require exploration of high-performance compute and changing hardware architectures to understand how best to approach software development.

Logistics Information:
Project categories
Computer Science & Engineering
Student ranks applicable
Junior
Senior
Student qualifications
  • Systems programming
  • Version control
  • Data analysis
  • Technical writing
Hours per week
2 credits / 6-12 hours
Compensation
Research for Credit
Number of openings
2
Techniques learned
  • Parallel programming
  • GPGPU programming and management
  • Interactive CG Techniques
  • Software engineering
  • Numerical simulation
Project start
Fall 2025
This project will use an Expectations and Structure agreement.
Expectations and Structure

This project requires both programming and technical writing efforts from student researchers. This implication means software development protocols will need to be adhered to when committing to the shared codebase and LaTeX project. The deadline for the paper submission is in January, and will require researchers to be available by email after the Fall semester to ensure that any emerging requirements in publication are met (e.g., making an account for a submission system, peer-reviewers requesting revisions, etc..). To ensure progress, and to help document work, "lab notebooks" in the form of Obsidian Vaults will be distributed to students through a shared Google Drive. Deliverables for the existing repository and paper will be a shared effort between researchers. You are not expected to be an expert in the required areas: code reviews and work critiques will be provided to help you grow your professional skills. A bulleted summary of expectations follow:

Programming/Markup Languages:

  • C/C++
  • GLSL
  • Markdown (md)
  • LaTeX

Lab Notebook:

  • Obsidian vault (shared via Google Drive)
  • Daily notes (for work days)
  • Troubleshooting notes
  • Data collection (tables, charts, etc..)
  • Literature reviews

Meetings:

  • 1 weekly group meeting
  • [0, 2] weekly code reviews and evaluations
    • Will diminish over the semester (i.e., "on boarding")

Software Development:

  • Protocols formatting/tech debt
  • Git
  • Unit and integration testing
  • Ticket system

Deliverables:

  • Traceable code developments
  • Data collected and analysis
  • Paper submission (January deadline)
  • Real-time demo examples

Author order for paper submission will be determined by assessing a lead researcher in the project for "first author." Additional student researcher order will follow based on a percentage evaluation in the written paper, as well as for demo material made to supplement the paper.

Contact Information:
Mentor
drehberg@nd.edu
Assistant Professor of the Practice
Name of project director or principal investigator
Daniel Rehberg
Email address of project director or principal investigator
drehberg@nd.edu
2 sp. | 4 appl.
Hours per week
2 credits / 6-12 hours
Project categories
Computer Science & Engineering