Skip to content

Carcodee/CodeRaytracer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CodeRT Engine

Overview

This is a path tracer for self-education with the Vulkan raytracing pipeline.

Features

  • Global illumination through frame accumulation.
  • Disney BSDF rendering model for realistic material representation.
  • Bindless ray tracing for efficient resource management.
  • Physically-based bloom for enhanced lighting effects.
  • Asynchronous loading support for GLTF and OBJ scenes/models.
  • Flexible and extensible material system.
  • Multithreaded asset handling to optimize I/O operations.
  • Custom implementation of ImGui.
  • Asset handler and free camera movement.
  • Multiple postprocessing renderpasses visualization.
  • Input handler abstraction on top of glfw.

Path tracing

Path tracing is based on the Vulkan ray tracing pipeline, which is provided by VK_KHR_ray_tracing_pipeline extension. Currently, path tracing doesn't have any runtime denosing, there is just a simple result accumulation when camera the doesn't move.

Running The project for visual studio users

Build the solution inside "VStudio_Build/ALL_BUILD.vcxproj" and after the build is done set EDITOR as stardup project

Examples

there are examples Inside "Core/Source/Resources/Assets/models", just drag and drop the model file inside the app and the model will be loaded

Issues

When a .gltf or .obj file is drop into the engine it generates metadata files for the save system, however they can lead to some bugs, if you see a bug after dropping many models try deleting all the .CODE and .MATCODE. T_T

Renders

Screenshot 2024-09-19 171644 Screenshot 2024-09-19 171414 Screenshot 2024-09-19 173226 Screenshot 2024-09-19 174137 Screenshot 2024-09-19 174438 Screenshot 2024-09-19 000507 Screenshot 2024-09-19 170855

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published