Continuo a leggere quanto sia straordinariamente facile lavorare con GLKit e con i propri shader personalizzati. Ma, finora, non sono riuscito a trovare alcuna informazione su come effettivamente farlo. Come posso prendere il mio shader e "collegarlo" al progetto GLKit esistente?Come utilizzare shader personalizzati insieme a GLKit
risposta
Bene, puoi guardare questo blog, che usa GLKit per creare un'applicazione OpenGL ES 2.0 di base. C'è anche link ad altri blog se stai cercando di scavare più in esso:
GLKit + OpenGL ES 2.0 + iOS5 Programming blog
L'unica cosa che non copre è GLKBaseEffect, ma se si vuole costruire shader personalizzati come hai detto tu, è sicuramente non voglio usarlo comunque.
GLKit offre 4 cose fondamentali:
- Una libreria matematica (Matrici, verctors ...)
- un combo Vista/controller realizzati appositamente per il disegno contenuto OpenGL
- Una classe tessitura loader (GLKTextureLoader)
- GLKBaseEffect, che imita OpenGL 1.0 di condutture fisse
* "1. A Matrix, Vector e libreria matematica Quaternion che utilizza NEON quindi è molto alta prestazioni 2. Combo View/View Controller creato appositamente per disegnare il contenuto OpenGL ES 3. Una classe loader texture (GLKTextureLoader). 4. GLKBaseEffect, che imita la pipeline fissa di OpenGL ES 1.1. "* Questa correzione è un suggerimento da un utente anonimo che è stato rifiutato. Aggiungendolo come commento qui. – iDev
Dal blog Deli ha legato, la soluzione sembra essere come segue: Innanzitutto, è necessario creare due file e aggiungerli al progetto. Li chiamo "fragment.glsl" e "vertex.glsl". Poi, nella parte superiore del file di .m del controllore, aggiungere #define VERTEX_SHADER @ "vertice" #define FRAGMENT_SHADER @ "frammento" –