glBindBufferBase(GL_UNIFORM_BUFFER,UboBinding::scene,sceneUbo);//Associate this uniform buffer with the uniform block in the shader that has the same binding.
glBufferData(GL_UNIFORM_BUFFER,sizeof(LightUniforms),&LightData,GL_STREAM_DRAW);//Allocate memory for the buffer, but don't copy (since pointer is null).
glBindBufferBase(GL_UNIFORM_BUFFER,UboBinding::light,lightUbo);//Associate this uniform buffer with the uniform block in the shader that has the same binding.
glBufferData(GL_UNIFORM_BUFFER,sizeof(MaterialUniforms),&MaterialData,GL_STREAM_DRAW);//Allocate memory for the buffer, but don't copy (since pointer is null).
glBindBufferBase(GL_UNIFORM_BUFFER,UboBinding::material,materialUbo);//Associate this uniform buffer with the uniform block in the shader that has the same binding.
glGenBuffers(1,&geoUbo);
glBindBuffer(GL_UNIFORM_BUFFER,geoUbo);
glBufferData(GL_UNIFORM_BUFFER,sizeof(GeoUniforms),&GeoData,GL_STREAM_DRAW);//Allocate memory for the buffer, but don't copy (since pointer is null).
glBindBufferBase(GL_UNIFORM_BUFFER,UboBinding::geometry,geoUbo);//Associate this uniform buffer with the uniform block in the shader that has the same binding.