Skip to content

LatentDream/Expresso

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Expresso

Old school 3D engine from scratch in C.

Dev Env

# Install C tooling and SDL2
sudo apt install build-essential
sudo apt install libsdl2-dev

# Build the project
make release=1

# Run the project
./bin/linux/release/expresso

Dev Log & Ressources

  • My notes on rendering pipeline from Pikuma's course: notes
  • My notes on parallel programming from Carnegie Mellon University: notes
  • For the next learning topic, see branch: dev

Logs:

In a non-chronological order, here are the logs of the development. This is what I want to explore and learn. Keep in mind that the project is still in progress and a learning exercise.

  • Drawing to the screen
  • Basic 3D asset
  • Rendering Loop
    • CPU rasterization
    • Backface culling
    • Frustum clipping
    • Subpixel rasterization
  • Lighting
    • Basic Lightnight
    • Advanced shadding
    • Ditchering to achieve shading (could be a cool background with retro look)
    • Gouraud shading
    • Phong Model
  • Texture
  • Camera
    • Basic FPS camera
    • Basic Look-at camera
    • Mouse input

Ressources used:

Libraries used:

Ressources to check next:

To Check:

C ressources: