1. 4FipS.com
  2. Photos
  3. Videos
  4. Code
  5. Forums
  6. pfQuizzz
  7. About

4FipS.com Forums

Forums dedicated to the projects hosted at 4FipS.com

Skip to content

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

> About coding, hacking, photography, 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.

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

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

Sponsor

Sponsor
 

Return to 4FipS.com General Discussion & Blog

Who is online

Users browsing this forum: Google [Bot] and 1 guest

cron