Home

What Do I Need to Get Started?

Distributed under the terms of the CC BY-NC-ND 4.0 License.

  1. Setting Things Up!

Website update. The Scratchapixel website was regenerated with a new build system on 29 June 2026. While we've carefully checked the output, there may still be a few broken links, formatting issues, or missing features. If you notice anything unusual, please let us know on our Discord server. Your feedback helps us improve the site.

Support Scratchapixel. If these lessons have helped you and you'd like to contribute towards hosting and development costs, you can support the project with a donation via PayPal. Thank you for helping keep Scratchapixel free for everyone.

Setting Things Up!

Reading time: 3 mins.

This lesson is WIP (Feb. 2024) and is currently being developped.

While Scratchapixel's approach to teaching—offering self-contained programs that are easy to compile—is beneficial, many of you new to computer graphics and programming might not know how to compile and run these programs. We aim to address this here.

What Programming Language Will We Use?

All our sample programs are written in C++. While other languages like Swift, Objective-C, Rust, Go, or C# are popular, C++ remains the most commonly used language in graphics applications. It becomes an extraordinary tool once you get the hang of it.

Since Scratchapixel is not a platform for learning C++ and there are ample resources available, either in books or online, we won't cover it here. We recommend searching online for recommendations and finding a resource that suits your needs (preferably in your native language, if available). We strongly advocate for getting a book—yes, one of those substantial items with printed pages you carry around in your bag.

Windows, macOS, and Linux

Most, if not all, examples are tested on Windows OS. However, the way we compile our programs is compatible with macOS and Linux. Instead of using something like Microsoft Visual Studio to write and compile code, we use a simple text editor. For compilation, we utilize a terminal (using GitBash on Windows; terminals are integral to Linux and macOS environments) and a cross-platform compiler such as gcc or clang (our preference).

Hardware

Any computer will suffice. You don't need a GPU - just a CPU. If you're on a tight budget, consider a Raspberry Pi, though you'll still require a screen, keyboard, mouse, etc.

Software

Windows

MacOS

Linux

If you're using Linux, you likely already have a compiler installed and know how to use a terminal.

Testing Your Work Environment