Quando si applicano più trame a una mesh, come per il bump mapping, di solito associo le trame alle prime poche unità di texture fisse, ad esempio: diffuse = unità 0, bump = unità 1, speculare = unità 2, quindi continuo a riutilizzarle per ciascuna maglia diversa con diverse trame. Ma mi sono sempre chiesto perché glActiveTexture
supporta così tante unità di trama (nel link precedente, dice almeno 80).
Quindi mi è venuto in mente che un possibile modo di gestire le trame è legare trame distinte a ciascuna unità disponibile e lasciarle abilitate, aggiornando semplicemente l'indice di campionamento uniforme. Ciò dovrebbe migliorare il rendering perf riducendo il numero di interruttori texture. Se hai meno trame delle unità di trama massime, non devi mai separare una trama.
Questa pratica standard è in applicazioni OpenGL in tempo reale (credo che ciò valga anche per D3D)? E ci sono implicazioni non ovvie sulle prestazioni nell'adottare questo approccio? Overhead di memoria forse?