Linux

Can I do the tutorials on linux? We have tested the tutorials on Windows and Visual studio on the lab computers and this is what we support.

It may work on your computer if it supports OpenGL 4.3 or higher, but we might not be able to provide assistance if it doesn't.

You can find a README_LINUX.md file in the code repository root. Start by reading that. You will need to install the software dependencies on your own.

OSX

Can I do the tutorials on OSX? Regretably, no. OSX does not support all the OpenGL features we make use of.

If your system supports it, you could either install a virtual machine on your system or use bootcamp to have a different partition with a supported OS.

If your system doesn't support that, you will need to use a different computer, either yours, or you can come to the lab rooms and use the computers there.

OpenGL
Why do the tutorials require OpenGL 4.3? OpenGL 4.3 has support for asynchronous debug messages, which greatly help debugging applications as we learn OpenGL for the first time. Some drivers implement async debug as an extensions for lower version numbers.
git
What is Git? Do I have to use it? Git is a revision control system. We highly recommend to use it, but if you really do not want to there is an option to download the tutorial package as a zip file. You may have to download it several times during the course, though, since not all tutorials will be released the first week.
CMake
What is CMake? Do I have to use it? CMake is a tool that is used to create project files for several platforms and build systems. This allows us to have the project work on updated versions of Visual Studio without doing extra work, potentially other build tools/environments, or even multiple operating systems. To not use it, you would need to set up the projects yourself manually, which would probably be a lot more work than installing CMake.
Deriv.

Can I get a simplified version of the code to work on my own projects? Sure! You can find a simplified version of the code in this gitlab repository, or downloading it from there or through this link.

You will have to get some of the code from labs in the shaders for it to render, we can't just post the solutions to those.

Visual
Studio

What smart hotkeys can I use?

Keys Function
F5 Compile and run (Also: Debug - Continue)
F7 Build the project, without running
F9 Debug - Set breakpoint
F10 Debug - Step over
F11 Debug - Step into
Shift + F11 Debug - Step out
F12 Go to definition
Alt + F12 Peek definition
Shift + F12 Find all references
Ctrl + k, Ctrl + c Comment selection
Ctrl + k, Ctrl + u Uncomment selection
Alt + Up/Down Move line
Alt + Shift + Up/Down Multiline cursor
Ctrl + r, Ctrl + r Smart rename of symbol/function/etc
Coding
Style

What code style is used? How do I use it too? We have use the clang-format tool to format our code and have a customized settings file to our liking. You can find it in the snippets of the project at gitlab.

Visual Studio has support for the version 5.0 of this tool since VS2017. You can enable it in Options > Text Editor > C/C++ > Formatting > Enable ClangFormat support.
We recommend that, if you enable it, in the option below that one you set it to only run when invoked manually, as the other one can be buggy sometimes.