Mindkét extension működése hasonló lévén ugyanarra az alapelvre épülnek.
A texture environment után és a köd számítás elé egy új lépés került, amely alapesetben le van tiltva. Ez a lépés egy másodlagos szín (secondary color) hozzáadását jelenti a fragment addig kiszámolt színéhez.
A különbség a két extension között nagyrészt nagyrészt az, hogy ez a szín honnan származik.
GL_EXT_separate_specular_color
Sok driver még ismeri ezt az extension-t azonban már nagyon visszaszorult a használata mivel a fixed-function pipeline-t egészítette ki. A registry-ben 1997-es évszámmal szerepel.
Működése:
Amennyiben engedélyezve van az árnyalás és ez a fajta spekuláris szín számítás, akkor a vertex oldali árnyalási egyenletből kimarad a spekuláris szín hozzáadása. Ehelyett az egy külön regiszterben fragment oldalra átkerül és a már említett lépésben hat a fragment színére.
GL_EXT_secondary_color
1999-re datált extension. Amennyiben ezt használni szeretnénk engedélyeznünk kell a fentebb említett lépést (color sum). Ezután már csak át kell adnunk a színt (megkötés, hogy csak RGB formában adhatjuk meg) a renderelésnek és az a külön regiszterében átkerül a raszterizáláshoz. Sajnos ezt a színt a texture environment nem tudja elérni.
Történeti jelentősége az, hogy mindmáig megmaradt ez a regiszter és a programmable pipeline-ban tetszőlegesen felhasználható (négykomponensűként).