diff --git a/Fig/gpu/gpu-driver-role.key b/Fig/gpu/gpu-driver-role.key index d67d16f..1a3ae07 100755 Binary files a/Fig/gpu/gpu-driver-role.key and b/Fig/gpu/gpu-driver-role.key differ diff --git a/Fig/gpu/gpu-driver-role.png b/Fig/gpu/gpu-driver-role.png index be80982..5a856ea 100644 Binary files a/Fig/gpu/gpu-driver-role.png and b/Fig/gpu/gpu-driver-role.png differ diff --git a/References/01-triangles.cpp b/References/01-triangles.cpp index 5778ffa..f9a176d 100644 --- a/References/01-triangles.cpp +++ b/References/01-triangles.cpp @@ -25,15 +25,31 @@ void init( void ) { glGenVertexArrays( NumVAOs, VAOs ); + // Make the new VAO:VAOs[Triangles] active, creating it if necessary. glBindVertexArray( VAOs[Triangles] ); - + // opengl->current_array_buffer = VAOs[Triangles] + GLfloat vertices[NumVertices][2] = { { -0.90f, -0.90f }, { 0.85f, -0.90f }, { -0.90f, 0.85f }, // Triangle 1 { 0.90f, -0.85f }, { 0.90f, 0.90f }, { -0.85f, 0.90f } // Triangle 2 }; glCreateBuffers( NumBuffers, Buffers ); + + // Make the buffer the active array buffer. glBindBuffer( GL_ARRAY_BUFFER, Buffers[ArrayBuffer] ); + // Attach the active VBO:Buffers[ArrayBuffer] to VAOs[Triangles] + // as an array of vectors with 4 floats each. + // Kind of like: + // opengl->current_vertex_array->attributes[attr] = { + // type = GL_FLOAT, + // size = 4, + // data = opengl->current_array_buffer + // } + // Can be replaced with glVertexArrayVertexBuffer(VAOs[Triangles], Triangles, + // buffer[ArrayBuffer], ArrayBuffer, sizeof(vmath::vec2));, glVertexArrayAttribFormat(), ... + // in OpenGL 4.5. + glBufferStorage( GL_ARRAY_BUFFER, sizeof(vertices), vertices, 0); ShaderInfo shaders[] = diff --git a/References/short-math-guide.pdf b/References/short-math-guide.pdf new file mode 100644 index 0000000..6dd09b9 Binary files /dev/null and b/References/short-math-guide.pdf differ