Quando si crea un renderer che supporta più API grafiche, in genere si desidera astrarre il codice in una sorta di libreria di basso livello collegata ad alcune API grafiche come OpenGL, Vulkan, D3D11 e così via;
Funzionano in modo molto diverso l'uno dall'altro, quindi diventa essenziale una buona API generica; Ho letto che in genere si desidera utilizzare un "back-end" che implementa le funzionalità di base per ciascuna API che si desidera supportare e un "front-end" che è ciò che viene utilizzato dal programmatore per disegnare elementi sul schermo.
Come faccio a sapere se sto facendo un'astrazione troppo stretta?