Introduction to C++/Graphics
Nathan Reed, Stephanie Hurlburt, Sophia Baldonado, Jorge Rodriguez, Cody Burrow, Jacob Liechty
Set up your project!
CMake is a tool that lets us easily make projects for different platforms and IDEs.
So, grab the project from https://github.com/Reedbeta/gfx-workshops. Downloading a .zip file is fine—unzip it to any directory.
Install CMake!
Open the CMake GUI, and set the build and source code directories to the project directory.
Click Generate! It’s quite magical—your project is now made and you can open it in your IDE of choice.
Introductions
Hello!
We come from a variety of backgrounds—game design, art, VR, graphics programming, and more. We all share a passion for making tools for artists using low-level programming.
C++ and graphics API knowledge allows us to make our own tools and understand how tools other people make work.
This is powerful!
What do graphics programmers do?
These days, graphics programming is useful in almost every industry!
What’s a GPU?
What tools are we using today?
What’s a Graphics API?
Lots of APIs! Direct3D, OpenGL, Vulkan, Metal, special APIs for game consoles
Like programming languages...similar concepts, different execution
Today we’re using OpenGL, which runs across almost all OSes and GPUs!
What are Rasterization and Raytracing?
Rasterization
Raytracing
List of Triangles�Rasterize Pixels�
List of Rays�Raycast Geometry�
Image Sources: www.scratchapixel.com
Particle Demo Ideas
Raytracing Demo Ideas
Now go build things!
Most of this workshop will be about all of you coding!
We’ll float around and help you edit and extend the particle system and raytracing samples.
Have fun!