der manager kann nur einen shader verwalten. man kann das ganze sicher erweitern, sollte ansich kein problem darstellen. habe mich aber dafür entschieden, weil es dann einfacher rüberkommt.
die aufgaben solcher fragmente sind schlicht und weg arbeitserleichterung. du schreibst sagen wir mal eine funktion die specular-lightning berechnet. eine weitere funktion errechnet ambient-lightning. das ganze kann man so weiter führen.
jetzt hast du ein objekt, was specularligtning erhalten soll. (klingt irgendwie komisch

). jetzt nimmst du nur einfach das fragment für specular lightning. ein anderes objekt bekommt aber zusätzlich noch ambient und diffuses-lightning. dafür würde man jetzt normla zwei shader schreiben. einer der ein objekt mit specular-lightnign rendert und einen der den ambientdiffusen teil übernimmt.
man könnte aber auch einfach die beiden fragmente zusammen setzen. so spart man sich schreibarbeit und hat dazu eine hohe kombinationsrate. dazu müssen die shader teile aber zueinander passen!!
wann nutzt man sowas. also, wenn man 2 oder 3 shader hat sicher nicht. da müssen es schon weit mehrere sein. ich würde sagen, aber ca 20 unterschiedlichen würde es sinn machen. natrülich entscheidet das jeder selber
habe shaderx3, aber den artikel fand ich nicht so gut...
hoffe ich habe ein wenig licht in die sahce gebracht. am we werde ich mal den ersten post überarbeiten