Dyskusja:OpenGL Shading Language/Wprowadzenie

Treść strony nie jest dostępna w innych językach.
Dodaj temat
Z Wikibooks, biblioteki wolnych podręczników.

Język Cg jest również przenośny, aczkolwiek jest niezależny od samego OpenGL-a, co więcej, jest w przeciwieństwie do glsanga niezależny od biblioteki graficznej, tzn. współpracuje także np. z DirectX.

Główną siłą glslanga jest jego przenośność w ramach implementacji OpenGL i jego silna integracja z całym środowiskiem. A podstawowym atutem, którego nie posiadają jego konkurenci jest wbudowany w bibliotekę kompilator, dzięki czemu aplikacje stają się bardziej niezależne od jego konkretnej implementacji.

Jedną z bolączkek Cg i opartego na nim HLSL, który jest stosowany w DirectX jest konieczność ręcznej rekompilacji shaderów i dostarczenia ich niezależnie w postaci binarnej dla aplikacji w przypadku ich optymalizacji. W OpenGLu, nowa wersja biblioteki może bardziej optymalnie kompilować/obsługiwać shadery w glslangu i problem konieczności redystrybucji nowych wersji oprogramowania z nowymi, bardziej zoptymalizowanycmi shaderami jest bardziej zminimalizowany. Oczywiście ten kij ma dwa końce, kompilatory Cg czy HLSL mają jedną wersję, a implementacji glslanga jest już w tej chwili kilka, i niestety nie są one do końca ze sobą kompatybilne, co utrudnia rozwój shaderów i przenośnych aplikacji 3D.

Wojtekm 15:58, 15 gru 2005 (UTC)