Skip to content

AlfieRan/BareBones-3D-Renderer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Barebones 3D Game Engine/Renderer in C and SDL 3

This is a basic 3D rendering engine built using the C programming language and SDL3 library. It is single-threaded and purely CPU-bound, intended as an exploration and learning project rather than a production-ready product.

Purpose and Motivation

I started this project for two main reasons:

  1. To improve my understanding and proficiency in writing C code.
  2. To challenge and apply my mathematics education in a practical context.

The project began with a very simple implementation and has gradually been optimized over time. However, there is still room for improvement, and I welcome suggestions and contributions from the community.

Features and Capabilities

  • Basic 3D rendering using C and SDL3
  • Single-threaded, CPU-bound rendering
  • Gradual optimizations for improved performance

Installation and Setup

To run this project on your local machine, follow these steps:

  1. Clone the repository: git clone https://github.com/AlfieRan/BareBones-3D-Renderer.git
  2. Install the SDL3 library, which is the only non-standard dependency.
  3. Compile the code using the provided Makefile. Please note that the Makefile is currently set up for a Macbook M3 Max (ARM chip), so it may need editing to compile on other systems.
  4. Run the executable file generated after compilation.

The screen width and height can be changed in the include/types.h file, which also contains additional configuration settings.

Contributing

If you have any suggestions or would like to contribute to this project, feel free to create a pull request (PR). I appreciate any feedback and contributions that can help improve the rendering engine.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Contact

If you have any questions, suggestions, or feedback, please feel free to reach out to me:

Footnotes

Heavily Inspired by JDH.

Useful Resources:

About

A Completely custom 3D renderer built in C and SDL.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published