Intro to Graphics Programming

All of the information here is sourced from a tweet thread by Stephanie Hurlburt, graphics developer and co-founder of Binomial.

This is an introduction to graphics programming, below you will find some suggestions, resources, frameworks, and a list of mentors who can help!

Pick a Project

  • Everyone is different with regards to how they learn. Often though, having a project and goal in mind can be very helpful. For example, “I’m going to build a particle system demo using Vulkan/C++”.

  • Keep the project simple, especially at first. Focus on learning one technique and keep the rest of the work very easy. Don’t try to build a whole game at once. Build a lighting effect or a little fluid/particle sim, or a shader. Keep the scope limited.

  • Focus your energy on relevant skills to developing that project or goal and ignore the rest at first. This is good because:

    • There’s too much to learn all at once

    • Focusing on skills you need to build things as opposed to theory is important

    • Building demos can help you get jobs more easily than anything else

  • As you build a project or demo, post updates and post the source on Github. This can be a great way to meet people and get visibility for your work, get hired, etc. And you’ll help teach other beginners as well.

  • Scanning the latest SIGGRAPH papers can give you an idea of what kind of work is interesting to graphics researchers.

Beginning Resources

Here are some great beginner friendly resources:

If you’re a graphics coder reading this wondering how you can host a workshop too, check out this guide.

Graphics Frameworks

Here are a few great frameworks for graphics:

Find a Mentor!

Stephanie maintains a mentor list with many graphics programmers. They all love helping others, so feel free to reach out to them!

More Advanced

Relation to Math

An important point: The vast majority of graphics coders don’t know math very well. Don’t be scared away if you aren’t a math person.