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
- 1. GLKit's GLKBaseEffect e shader personalizzati
- 2. Passa gli attributi personalizzati a uno shader di frammenti personalizzati
- 3. Come utilizzare i buffer costanti dello shader?
- 4. Posso utilizzare iOS GLKit senza utilizzare una visualizzazione a schermo intero?
- 5. Sviluppo multipiattaforma con GLKit?
- 6. È possibile utilizzare valgrind insieme a Cygwin?
- 7. In memoria e fornitori personalizzati tutti insieme
- 8. Calling Material.setPass con Shader personalizzati rompe GL - Unità
- 9. Come utilizzare i moduli xlib e OpenGL insieme a python?
- 10. Come posso utilizzare il REPL Clojure insieme a Qt Jambi?
- 11. Come utilizzare @Configuration e @EnableScheduling insieme a Spring Batch
- 12. Come console.log negli shader webgl?
- 13. Come utilizzare NSUbiquitousKeyValueStore e NSUserDefaults insieme
- 14. Come utilizzare IsKeyboardFocusWithin e IsSelected insieme?
- 15. Progressbar insieme a asyncTask
- 16. Come posso utilizzare passportjs e reactjs insieme?
- 17. Come utilizzare insieme NSFetchedResultsController e UISearchController?
- 18. Come utilizzare pixel shader per ottenere un testo uniforme?
- 19. Come utilizzare i controlli personalizzati in WPF
- 20. jQuery: come utilizzare event.preventDefault() con eventi personalizzati?
- 21. Come utilizzare caratteri personalizzati in Android xml?
- 22. Utilizzare MongoEngine e PyMongo insieme
- 23. Visualizzazione risorse Shader DirectX in Shader
- 24. OpenGL ES 2.0 GLKit con sfondo trasparente
- 25. Rendering OpenGL ES su richiesta con GLKit
- 26. Rotazione Arcball con Quaternioni (utilizzando GLKit iOS)
- 27. Junit Test parametrizzati insieme a Powermock - come?
- 28. Shader compatibili OpenGL ES e OpenGL
- 29. Utilizzare loc e iloc insieme in panda
- 30. Passaggio Boost matrici uBLAS a shader OpenGL
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" –