Programming Language
Programming assignments in this course will be written using C++ (specifically the 2017 version of C++). We do not expect students to be familier with advanced C++ features, but we will make use of operator overloading and template classes from the C++ Standard Library. The class website has links to online resources about C++ programmingthat you may find useful.
Libraries
-
Vulkan SDK — Vulkan is a modern, cross-platform, graphics API. If you wish to install it on your own system, you can get the SDK from https://vulkan.lunarg.com.
-
GLM Library — OpenGL Mathematics is a header-only C++ library for programming with vectors and matrices. It is designed to match the operations used in the GLSL shading language, which is what we will be using to write shader programs. If you wish to install it on your own system, you can get the library from GitHub.
-
GLFW Library — GLFW is a multiplatform library for graphics programming on the desktop. It is designed to handle window creation and input devices in a platform-independent way. If you wish to install it on your own system, you can get the library from https://www.glfw.org.
-
CS23700 — We will also use a course-specific utility library that builds on top of the three libraries mentioned above.
Tools
-
CMake — CMake is a makefile generator.
Installing on macOS
If you have a mac, you can install GLM, GLFW, and CMake using the Homebrew package manager.