Ho shader memorizzato in un valore String:Come passare String come parametro GLchar ** (char **) in glShaderSource?
var myShader =
" attribute vec4 a_position;" +
" void main() {" +
" gl_Position = a_position;" +
" }"
glShaderSource(shader, GLsizei(1), myShader, nil)
La glShaderSource funzione ha la firma bind:
func glShaderSource(shader: GLuint, count: GLsizei, string: UnsafePointer<UnsafePointer<GLchar>>, length: UnsafePointer<GLint>)
Quando provo a passare la stringa shader per glShaderSource direttamente ottengo il messaggio di errore :
'String' is not convertible to 'UnsafePointer<UnsafePointer<GLchar>>'
Come passare String in modo corretto? (xCode versione 6.1 (6A1052d))
' glShaderSource' prende una serie di stringhe. –
@ColonelThirtyTwo Sì, certo. Ma una singola stringa può essere passata come 'char text [] =" ... "; glShaderSource (s, 1, (char **) text, NULL) 'in C. Quindi penso che il singolo strnig possa essere passato in Swift nello stesso modo. In ogni caso sarò altrettanto felice di sapere come passare una stringa singola o una stringa per funzionare. –
Non è corretto. È 'glShaderSource (s, 1, & text, NULL)' in C. –