Pertanyaan sederhana:
Di GLSL, apakah ada cara untuk berbagi fungsi di beberapa shader, atau apakah saya harus mendefinisikan semua fungsi di setiap shader yang membutuhkannya?
Anda dapat mendefinisikan beberapa fungsi dalam file header dan # memasukkannya ke shader Anda. Ini sedikit berbeda dari C / C ++ karena Anda akan menempatkan tubuh fungsi Anda di header, bukan hanya prototipe mereka (karena shader tidak memiliki konsep kompilasi & penautan terpisah), tetapi selain itu hanya seperti C / C ++ header.
Jika #include tidak tersedia, Anda akan menggunakan argumen glShaderSource untuk menentukan hal-hal yang dibagikan. Contoh:
sumber