Yanıtlar:
Bir başlık dosyasında bazı işlevleri tanımlayabilir ve # gölgelendiricinize ekleyebilirsiniz. C / C ++ 'dan biraz farklıdır , çünkü işlevlerinizin gövdelerini yalnızca prototiplerine değil, başlıklarına koyarsınız (gölgelendiricilerin ayrı bir derleme ve bağlantı kavramına sahip olmadıkları için), ancak bunun dışında C / C ++ gibi başlıkları.
#İnclude yoksa paylaşılan şeyleri belirtmek için glShaderSource değişkenlerini kullanırsınız. Misal:
char *sharedcode = "...shared code here...";
char *fs1 = "...fragment shader 1...";
char *fs2 = "...fragment shader 2...";
char *awesomeeffect1[] = {sharedcode, fs1};
char *awesomeeffect2[] = {sharedcode, fs2};
glShaderSource (shader1, 2, awesomeeffect1, NULL);
glShaderSource (shader2, 2, awesomeeffect2, NULL);