highfidelity/hifi — pull request #3684 by samcake (2014-10-28 22:58:01+00:00)
Title: Introduction of the Context and Backend class and the OpenGL version: the GLBackend

- Add the gpu/Context files containing:
- gpu::Context class the encapsulation of the graphics api where the Batch can be enqueued
- gpu::Backend the abstract class that actually implement all the rendering of the Batch commands.
A Context contains a Backend which is where the Batch command are beeing executed

- Add the gpu/GLBackend files containing:
- gpu::GLBackend the GL specialization of the gpu::Backend

The Buffer class got cleaned and now doesn't need to know anything about OpenGL. It only carries a "Backend::GPUObject*" which is where is stored the specialized set of data required for a given Backend to use the Buffer with the graphics api. In the the case of GLBackend, the real GLuint buffer object.

- Added a few "PROFILE_RANGE()" macro to check overall performances using the Nsight tool on Window