Thesis Topics

If you can not come up with your own topic, here is a list of topics from us.

 

Runtime Lightmap Baking Tool

Supervisor(s): Jaanus Jaggo
Contact: jaanus.jaggo@ut.ee
Degree: BSc or MSc
Type: Software (Computer Graphics)
Tools: Godot 3, GLES 1.0
Requirement: Student has to take the Computer Graphics course

Baked lighting is the most performant way for capturing realistic ray-traced lighting into a static model. Unfortunately, light baking is usually built into the game engine and can not be used runtime. Partially because it is relatively slow.
In this thesis you create a runtime lightmap baking algorithm that works as Godot 3 plugin and runs on both GLES 2.0 and 3.0.

  • The mesh is rendered in UV space
  • Raytracing is performed for each pixel
  • Resulting image is combined with previous frames to gather more samples
  • Output is filtered (using gaussian filter or something more sophisticated)
  • Whenever an object is added or removed, a surrounding mask is traced and these areas are raytraced again
  • A master level student should also be able to optimize the raytracing considerably


Source

Keywords: Software development, computer graphics, raytracing, light baking

 

Blender Plugin for Trim Sheet Workflow

Supervisor(s): Jaanus Jaggo
Contact: jaanus.jaggo@ut.ee
Degree: BSc or MSc
Type: Software
Tools: Blender

Blender is currently lacking a good tool for texture first approach where model is mapped to a trim sheet.
In this thesis you create a more suitable tool for this task.
Existing tools that provide similar functionality but are not very handy to use are: Decal Machine and Ultimate Trim UV.

Keywords: Software development, Blender, trim sheets, texture first

 

Vectorization Tool with Gradients

Supervisor(s): Jaanus Jaggo
Contact: jaanus.jaggo@ut.ee
Degree: BSc or MSc
Type: Software
Tools: Godot

Vectorization is the process of converting a raster image to vector image. Several vectorization tools exist to automate this laborious work, for example Image Trace in Adobe Illustrator. Most of these tools do not support color gradients and thus manual tracing is still often required. The goal of this thesis would be to create a vectorization algorithm that can also use gradients and software tool which allows to control this process for artists. The output should be optimized for usage in video games.

Keywords: Software development, vectorization, gradients

 

Material Mapping for Grammar Editor Tool

Supervisor(s): Mathias Plans
Contact: mathias.plans@ut.ee
Degree: BSc or MSc
Type: Software
Tools: Godot 4

The Grammar Editor Tool is an app made in Godot that allows users to define shape grammar rules to procedurally generate 3D shapes, mainly buildings. While the software is capable of generating interesting buildings, textures cannot be applied to them. Your task is to make it possible to use textures and materials on the generated buildings.

The thesis topic is split into two main tasks. Firstly, during the procedural generation of the shape, UV coordinates and normals of all the vertices have to be calculated. Each face then has to be mapped to a texture or a material. Secondly, this mapping should be editable via the editor. New controls and UI elemets for the Grammar Editor Tool have to be developed. This topic is suitable for students who are interested in geometry calculations, procedural generations, and Godot.

Keywords: Software development, computer graphics, procedural generation, Godot

 

Delta TV Art Exhibit

Supervisor(s): Ulrich Norbisrath
Contact: ulrich.norbisrath@ut.ee
Degree: BSc or MSc
Type: Software

The Delta building has several big TV-s around. These TV-s will get a RealSense SR305 depth camera attached to them. In this topic you can design and implement an software solution, which uses the depth information to show something cool and artsy on the TV. It can be a game or an amazing visualization. This is quite an open-ended and creative topic.
The experience and skills you get from doing this topic depend largely on how you scope it. In any case you get the experience of working on a real exhibit. For inspiration here is a video of an existing exhibit in the Mektory Center that interacts based on the viewer’s movements.

Keywords: Software development, exhibit design, RealSense SR305, depth camera.

 

SIGINT Game Controller

Supervisor(s): Ulrich Norbisrath
Contact: ulrich.norbisrath@ut.ee
Degree: MSc
Type: Software + User Manual
Tools: Godot

SIGINT is a multiplayer puzzle-platformer video game developed in Godot for the Raspberry Pi microcontroller and the 3‑panelled smart glass wall that is in front of the CGVR Lab room 2007 in Delta. The game is currently controlled via Xbox wireless game controllers. In this thesis you design and develop a custom controller for SIGINT. This involves choosing, creating and assembling the electronics, designing and 3D printing a chassis, integrating the controller with the game in Godot, and, very importantly, creating a separate public guide document that generalizes that process. This topic is a mix of developing a solution and writing a separate guide for others. The guide could also be in a video form, as in a YouTube series.

Keywords: Raspberry Pi, electronics, game controller, gamepad, 3D printing, hardware development guide.

 

DeltaVR and Delta Integration

Supervisor(s): Ulrich Norbisrath
Contact: ulrich.norbisrath@ut.ee
Degree: MSc
Type: Software
Tools: Unity

DeltaVR is a virtual reality experience that allows regular people to visit the virtual Delta building. It includes the interior of the first two floors, exterior of the entire building, several minigames, and is both cross-plarform (PC, PCVR, standalone VR), and multiplayer. In this thesis, you can integrate data from the actual Delta building into the DeltaVR application. This includes, showing the videos from the video wall on the first floor, showing the occupancy and CO2 levels in the rooms, control the lights in the IoT room, or even control a 3D printer.

Keywords: Virtual reality, internet of things, digital twin, integration, experience design.

 

Mobile Game Development Course

Supervisor(s): Ulrich Norbisrath
Contact: ulrich.norbisrath@ut.ee
Degree: MSc
Type: Learning Materials

Designing and developing mobile video games is different from general computer game development. The mobile play sessions are shorter, and the games need to be easier to learn and faster in providing the fun. This gives rise to genres like the hypercasual games. In this thesis you will create and teach a 3 ECTS credit course about designing and developing mobile video games. It should cover the mobile game development capabilities of different game engines, targeting and publishing for different mobile platforms, the limits and testing on different phone models, and other topics you think relevant. The thesis includes you teaching the course based on your created course design and learning materials, then analyzing its effectiveness.

Keywords: Mobile gaming, mobile game development, game engines, course design, learning materials, teaching.

 

Multiple Sphere Collider Approximate Fill for Complex Meshes in Unity

Criffin

Supervisor(s): Ulrich Norbisrath, Ingmar Trump
Contact: ulrich.norbisrath@ut.ee, ingmar.trump@criffin.com
Degree: BSc
Type: Independent Study
Tools: Unity

Criffin is an Estonian company who develops virtual reality solutions using the Unity game engine.
Most objects in games need some sort of physics collider for the physics systems to work properly. Performant physics objects are sphere, capsule and cube colliders. Mesh colliders are considerably slower and also less functional. For example, it can be really difficult to figure out if one collider is inside of a mesh collider or not, especially if the mesh is non-convex. It is almost always better, if a complex mesh can be represented by primitive colliders.
An algorithm should be made that fills any given closed mesh with a minimal amount of sphere colliders to achieve a good enough approximation. Close mesh means that there are no holes in the mesh, each edge has exactly two polygons connected to it. This means that there is a clear inside and outside for the mesh, and volume could be calculated. The algorithm should be able to work on non-convex meshes too. Limiting parameters should be exposed to control what the algorithm focuses on. For example, how many sphere colliders are allowed to be used, how much the volume or surface height is allowed to deviate or how much time is allowed for the calculation.

Keywords: Collision detection, sphere colliders, mesh approximation, concave mesh, Unity.

 

Floating World Origin in Unity

Criffin

Supervisor(s): Ulrich Norbisrath, Ingmar Trump
Contact: ulrich.norbisrath@ut.ee, ingmar.trump@criffin.com
Degree: BSc
Type: Independent Study, Software
Tools: Unity

Criffin is an Estonian company who develops virtual reality solutions using the Unity game engine.
With large enough numbers, it gets increasingly more difficult to keep track of small changes. To keep track of these small changes, more memory and computational power are needed. Unity uses 32-bit floating point numbers for position data. This means that about 10km away from the world origin, small 1mm details start jittering around. Hundreds of km out, the jitter can make the game totally unplayable. At these distances, physics would start failing too. Converting everything in Unity to 64-bit floating point numbers seems near impossible, it is something Unity has to do themselves.
A convenient system to enable floating world origin for a game. It is a problem solved in some games and game engines, but there do not seem to be any good solutions for Unity. The obvious difficulties are with shifting all the objects around in the world and making sure the physics keeps working consistently. The less obvious problems are with level editing, as the floating origin system might have to work for the scene view too. The system should not rely on changes to every single prefab and scene object to enable the feature. That is too much extra work for anyone trying to integrate the system into their project.

Keywords: Floating-point precision, dynamic world origin, Unity.

 

Stylized 3D Motion Blur

Artineering

Supervisor(s): Ulrich Norbisrath, Santiago Montesdeoca
Contact: ulrich.norbisrath@ut.ee, santiago@artineering.io
Degree: BSc
Type: Review, Software
Tools: Python, GLSL/HLSL, Flair, Maya

Artineering is a company in Tallinn specialized in real-time stylized rendering of 3D animation. They want to incorporate new art-direction tools within their stylized engine, while nurturing talent to potentially expand their team.
Your task will be to survey state-of-the-art real-time motion blur algorithms and implement them in Flair. The review and implementation will give you the experience necessary to later expand your work creatively and develop your own stylized motion blur effect. You will be working mostly with shading languages such as GLSL/HLSL and will also need to modify some things with Python using Flair ether as a standalone or as a plugin for Autodesk Maya.
This project is ideal for Bachelor students looking into learning and expanding their knowledge about shader languages and image-processing. A positive outcome of your work will be integrated into the Flair shader library to be used in production worldwide.

Keywords: Computer graphics, post-processing effect, motion blur, art tool, Maya.

 

3D Stylization with Signed Distance Fields

Artineering

Supervisor(s): Ulrich Norbisrath, Santiago Montesdeoca
Contact: ulrich.norbisrath@ut.ee, santiago@artineering.io
Degree: MSc
Type: Independent Study, Software
Tools: C++, Python, GLSL/HLSL, Maya

Artineering is a company in Tallinn specialized in real-time stylized rendering of 3D animation. They want to incorporate new art-direction tools within their stylized engine, while nurturing talent to potentially expand their team.
Your task will be to ideate and develop an art-direction tool based on signed distance fields that will empower artists with the ability to stylize 3D renders using volumes in space. You will start with a primitive spherical volume, to later explore ways of expanding the work towards more complex representations that can be intuitively created by artists in real-time. You will be working with and learning C++, Python and shading languages (HLSL/GLSL) within the MNPRX plugin for Autodesk Maya.
With a strong reliance on mathematics, this project is ideal for an engineer with strong math foundations, that is interested in novel mathematical applications for user experience and interaction in 3D graphics.

Keywords: Computer graphics, stylized rendering, signed distance fields, art tool, Maya.

 

Video Game

Supervisor(s): Mark Muhhin
Contact: mark.muhhin@ut.ee
Degree: BSc or MSc
Type: Software

This is an open topic for you to design, develop, and test your video game idea. As usual with the Software Solution thesis type, you start by checking out the existing market for similar games. Then you create a unique design with some certain goal in mind. The thesis proceeds with you implementing the design. Then you need to test the implemented design on your target audience. This process can be iterated a couple of times to create a better result. The specifics will depend on your own proposed goals for the game and timeline. In the end, you have authored a video game to put into your CV, market, and build a studio around.

Keywords: Video game, game design, game development.

 

Hyper-Casual Game (taken)

Joyixir

Supervisor(s): Daniel Nael
Contact: daniel@joyixir.com
Degree: BSc or MSc
Tools: Unity
Type: Software

Joyixir is a hyper-casual mobile video game development company located at the Delta Entrepreneurship building. Their main focus is on designing concentrated gameplay loops that everyone can enjoy. Joyixir values international development teams.
Hyper-casual is one of the main genres of mobile games. They are popular because they are lightweight, easy to play, and usually free-to-play. The goal of this thesis is to study the game design of hyper-casual games, implement a hyper-casual game and finally test the game with a publisher. The exact goal and topic should be discussed with the supervisor.
During this thesis you get the skills to develop and pitch to a publisher your own hyper-casual game in collaboration with an experienced game studio. This topic is suitable for several students who each develop their own hyper-casual game.

Keywords: Software development, Unity, game development, game design, hyper-casual.

 

MediqVR Healthcare App Port to Meta Quest 3

Supervisor(s): Madis Vasser
Contact: madis.vasser@ut.ee
Degree: BSc
Type: Software
Tools: Unreal Engine

The Meta Quest 3 standalone VR headset has top-of-the-class performance, allowing for porting of previously desktop-only VR apps. MediqVR is a therapy tool used at the University of Tartu Children’s Clinic, allowing training of social skills. The thesis is about exploring the source code the original program, optimizing assets and refactoring code so the experience would run on standalone devices, namely Meta Quest 3.

Keywords: Software development, software port, virtual reality, healthcare.

 

Passthrough Camera Effects on Meta Quest 3

Supervisor(s): Madis Vasser
Contact: madis.vasser@ut.ee
Degree: BSc or MSc
Type: Software
Tools: Unreal Engine or Unity

The Meta Quest 3 standalone VR headset has color passthrough cameras, allowing to show the real world environment inside the goggles. This opens up possibilites to modify the image in order to introduce interesting visual effects. At the same time, standalone headsets pose different technical constrains on computer graphics. The thesis is about exploring the image processing options available for tweaking the passthrough image and experimenting with different visual effects.

Keywords: Digital image processing, visual effects, image effects, augmented reality, passthrough camera, experiments.

 

Mixed Reality Game for Delta on Meta Quest 3

Supervisor(s): Madis Vasser
Contact: madis.vasser@ut.ee
Degree: BSc or MSc
Type: Software
Tools: Unreal Engine or Unity

The Meta Quest 3 standalone VR headset has color passthrough cameras, allowing to show the real world environment inside the goggles. The device also features a depth sensor to enable mixed reality experiences, e.g. the virtual characters can be occluded by a real chair. The thesis is about exploring the limits of the depth sensor and building a simple game around the different use cases of the sensor. Ideally the game would use the Delta building as the real world environment.

Keywords: Software development, mixed reality, virtual reality, augmented reality.