The interface block helps in grouping the uniform variables into one logical bunch. This is very useful in grouping the related variables in the shader programing. The interface block gives an opportunity to share the uniform data among multiple programs at once. This allows us to set multiple uniform variables in one go, which can be used many times.
A Uniform Buffer Object (UBO) is a buffer object for the interface blocks (containing uniform) similar to VBO, IBO, and so on. It stores the contents of the interface block in the GPU memory for quick data access at runtime. The UBO uses bind points that act as a mediator between the uniform block and uniform buffer. In this recipe, we will create a uniform block and learn how to program uniform buffer objects.
This recipe demonstrates the concept of interface block. In this recipe, we created an interface block to store transformation matrices. This block contain three uniforms. The interface block...