Sto facendo alcune demo 3D usando OpenGL e ho notato che GLSL è in qualche modo "limitato" (o sono solo io?). Comunque ho molti diversi tipi di materiali. Alcuni materiali hanno colori ambientali e diffusi, alcuni materiali hanno una mappa di occlusione ambientale, alcuni hanno una mappa speculare e una mappa di rilievo ecc.
È meglio supportare tutto in una coppia di shader vertice / frammento o è meglio creare molti shader di vertice / frammento e selezionarli in base al materiale attualmente selezionato? Qual è la solita strategia shader in OpenGL o D3D?