OpenGL

OpenGL / GLFW

  1. What is OpenGL exactly?
  2. What are all the different opengl versions? What do I need to know about them?
  3. What’s the different between GLFW and OpenGL?
  4. What is the support like on Apple Devices and how does it work with Apple Metal?
  5. Machines have hardware dependent opengl versions? Due to drivers?
  6. What are core vs compatibility profiles?

Shaders

  1. What is a shader?
  2. Why is it called a Shader?

This use of the term “shader” was introduced to the public by Pixar with version 3.0 of their RenderMan Interface Specification, originally published in May 1988. -Wikipedia

  1. How do I create a shader?
  2. How can I ensure a shader compiles on my machine?
  3. What’s a vertex shader?
  4. What’s a fragment shader?
  5. Uniforms, Attributes?

uniform are per-primitive parameters (constant during an entire draw call) ; attribute are per-vertex parameters (typically : positions, normals, colors, UVs, …) ; varying are per-fragment (or per-pixel) parameters : they vary from pixels to pixels.

GL Objects

  1. What’s a VBO?

VBO or Vertex Buffer Object is simply a buffer of memory in the graphics card. It holds the data you want to render.

  1. What’s a VAO?

A Vertex Array Object tells opengl how the VBO data is formatted. ex: the first 3 bytes or position, the next 3 bytes are color…

Resources

Good Stackoverflow Q&A


Related Notes