Short:Funzioni riutilizzabili/condivise GLSL, costanti condivise (OpenGL ES 2.0)?
Posso definire una funzione che può essere utilizzata da ogni shader? Oppure devo definirlo per shader?
L'intera storia:
voglio creare numerosi shader destinati a colorare i frammenti di ingresso con rampe di pendenza predefiniti (qualcosa di simile - http://www.thinkboxsoftware.com/storage/krakatoa-support-images/krakatoa15_kcm_densitybyage_gradientrampmap.png).
voglio definire un gradiente rampa costante per ogni Shader (una serie di campioni di colore vec4, dove il valore alfa detiene la posizione gradiente, vedere Pos nell'immagine sopra)
e ho bisogno una funzione che può restituire un campione di colore dalla rampa del gradiente data per una particolare posizione di coordinate della trama.
Così le rampe devono essere definito una volta per lo shader, e la funzione dovrebbe essere definita tutti in una volta che ogni shader può usare in modo sicuro.
Ho gli algoritmi, la domanda è per le funzioni di condivisione e definire le costanti in GLSL.
È possibile? Oppure devo copiare la funzione in ogni shader? Esiste almeno un'opzione di precompilazione?
Whoa, suona bene, ci proverò. – Geri