Je fais des démos 3D en utilisant OpenGL et j'ai remarqué que GLSL est quelque peu "limité" (ou est-ce juste moi?). Quoi qu'il en soit, j'ai différents types de matériaux. Certains matériaux ont une couleur ambiante et diffuse, certains matériaux ont une carte d'occlusion ambiante, certains ont une carte spéculaire et une carte de relief, etc.
Est-il préférable de tout prendre en charge dans une paire de vertex / fragment shader ou est-il préférable de créer de nombreux vertex / fragment shaders et de les sélectionner en fonction du matériau actuellement sélectionné? Quelle est la stratégie de shader habituelle dans OpenGL ou D3D?