1. 4FIPS
  4. APPS
  5. CODE
  7. ABOUT


Forums dedicated to the projects hosted at 4FipS.com

Skip to content

Designing a flexible GPU abstraction (C++/OpenGL)

> Coding, hacking, graphics, game dev, and such...

Designing a flexible GPU abstraction (C++/OpenGL)

Postby fips on Sat May 18, 2013 11:16 am

The image below shows a GPU abstraction that I use in my pet project. It gives a great flexibility as it's BLOB driven (to reduce API complexity together with the internal bookkeeping cost) and completely decouples the client from the GPU as the whole system interacts with the GPU at just a single well defined point (through the flush() function, which runs in a background thread, using a double-buffered Command_queue).

It's also very convenient that the client decides whether to push resource data into Graphics or keep it on its side. This allows, among other great things, to ask Graphics for a temporary resource index, which is valid for just a single frame and make a draw call using that index, so the client side doesn't need to care about resource lifetime management at all, which is very useful especially for immediate rendering.

User avatar
Site Admin
Posts: 163
Joined: Wed Nov 12, 2008 9:49 pm
Location: Prague

Designing a flexible GPU abstraction (C++/OpenGL)



Return to General Discussion, Tech Talk & Blog

Who is online

Users browsing this forum: No registered users and 1 guest