Building a Hyper-Realistic Graphics Renderer with Gaussian Splatting
Loading...
Date
Authors
Hall, Ryan Jacob
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
3-Dimensional (3D) graphics is a computer drawing technique in which 3D objects are rendered onto a computer screen. These 3D objects are composed of an array of points that map out the shape of the model. The goal of any graphically intensive program is to provide the user with an experience that is realistic, while maintaining a high frame rate. 3D graphics are typically represented through a collection of triangles which are connected to form a model. These triangles are ideal if geometric shapes are drawn. However, representing smooth shapes requires a large quantity of triangles and puts a processing burden on the computer. While this may not be a problem for models that have 10,000 triangles, more realistic models tend to have polygon counts of over 100,000, causing a severe decrease in frame rate. While other drawing techniques exist that can achieve realism, they typically have low frame rates and are not intended for use in simulations. However, a recent technique, called Gaussian Splatting, is capable of rendering highly realistic graphics at a suitable framerate. Each model rendered through Gaussian Splatting is composed of a sequence of nodes, known as splats, which are morphed through scaling and rotation. These points are morphed and grouped together into point clouds, which depict a highly realistic model.
The goal of this project is to implement Gaussian Splatting in the Open Graphics Library (OpenGL) and test out various effects, such as lighting, that are generally used with triangulated models. Visual comparisons and quantitative frame rate comparisons are made between both techniques. The Gaussian splatting renderer outperforms the triangulated renderer in visual quality while maintaining a high frame rate.
