Skip to content

Latest commit

 

History

130 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cull Logo Cull Engine

Language License

A CPU rendering engine pairing a real-time scene editor with a multi-threaded offline ray-tracer.

Result
ray-traced
Editor
editor

Two pipelines

  1. Ray-Tracer:

    • Sun and multiple point-lights
    • Smooth shading
    • Shadows
    • Reflections
    • Refractions
    • Alpha blending
    • BVH
    • Multi-threading
    • Metallic-roughness materials
    • Textures
    • Vignette (post-processing)
    • Produces result in .ppm format
  2. Editor:

    • Rasterized (solid or wireframe)
    • Runs in live window
    • Move and rotate camera
    • Move, rotate or scale models with gizmo

CLM (Cull Math)

A custom math library that includes:

  • vec2, vec3, vec4, ivec2, uvec2
  • mat4
  • quaternion
  • clamp, lerp

Controls

Action Input
Move camera W A S D
Rotate camera Arrow keys
Render to .ppm R
View solid triangles Hold E
Select model Left mouse button
Use gizmo Select model, drag arrows
Change gizmo mode G
Delete model Select model, then Delete

Building & Running

Requirements: Windows, MSVC with C++20 support

Refer to run.ps1 and the example folder

About

A CPU rendering engine pairing a real-time scene editor with a multi-threaded offline ray tracer

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages