mfkiwl / kobra

3D Game Engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kobra

Kobra is a 3D vulkan rendering engine written in C++. It's modular interface is designed to yield a robust yet flexible framework with which one can efficiently experiment with new rendering techniques. Thus, it presents itself as an easy to learn basis for research in visual computing.

Features

The primary focus of Kobra has been physically based rendering. The following are notable features in this regard:

  • Path tracing in GLSL
    • Construction and traversal of modern acceleration structures (BVHs)
    • Multiple importance sampling with GGX microfacet BRDFs
  • Path tracing with NVIDIA OptiX
    • Multiple importance sampling with GGX microfacet BRDFs
    • Tranmission through dielectrics
    • OptiX AI denoising (AOV)

Furthermore, Kobra provides the ability to perform classical rasterization and UI rendering.

Kobra aims to be part of the leading edge of rendering technology. In the future, Kobra aims to ease the process of building large scenes and assets with affordable resources. Algorithms of interest are 3D scene reconstruction, material inference from images, and creating character animations from video samples.

Screenshots

The following scenes are from the McGuire Computer Graphics Archive. There were rendered on a RTX 3060 Ti using the OptiX path tracer. All scenes achieved reasonable performance, averaging at least 30 frames per second.

Breakfast Room

Figure 1: Basic indoor scene, demonstrating soft shadows and crisp textures.

Fireplace (Indoor Lighting)

Figure 2: Another indoor scene, this time with more glossy materials.

Sponza

Figure 3: A large outdoor scene, demonstrating lobal illumination.

Living Room

Figure 4: An indoor scene featuring lots of complex geometry and textures.

Fireplace (Outdoor Lighting)

Figure 5: This indoor scene involves no direct lighting, but is still lit by the environment map in background, which enters through the windows.
Also note the glass, which exhibits perfect specular transmission and reflection, much like real glass.

About

3D Game Engine


Languages

Language:Cuda 50.3%Language:C++ 42.2%Language:GLSL 6.1%Language:CMake 0.7%Language:Python 0.5%Language:Shell 0.2%Language:C 0.1%