Loading an obj file! Finishing up: The difference between our program and the right program Struct packing turned out to be a non-issue For now anyway... Alright, the textures: Texture coordinates would need to be in GPU memory glVertexAttribPointer, round 2 stbi_image, and loading it into memory Let's use this instead of SOIL Is that a problem on Windows? Hope not After we have it glGenTextures glBindTexture glTexParameteri glTexImage2D Again, we can steal from hello_triangle_gui The fragment shader will have to load from a texture We can grab the Vulkan one and adapt it We'll have a "uniform sampler2D" for our texture Call texture function The vertex shader will have to pass the texture coordinates through Just like it did with color If we're using textures, we don't need "regular" colors Might as well save the memory and time Can we take a picture of the floor? I wonder if I brought a way to do that? Skip if need be, but useful: Let's handle resize! Set a callback with glfwSetFramebufferSizeCallback In the callback: Update global width and height call glViewport to fix aspect ratio Did any of this work? I'm hoping this can be the active learning: Save some other obj from Blender and load it in the game Faster: I could give you an obj to start with If any of that worked: Falling! We have to figure out if we're above an object