Ich habe Shader, die in einem String-Wert gespeichert:Wie übergeben String als GLchar ** (char **) Parameter in glShaderSource?
var myShader =
" attribute vec4 a_position;" +
" void main() {" +
" gl_Position = a_position;" +
" }"
glShaderSource(shader, GLsizei(1), myShader, nil)
Die Funktion glShaderSource die Binde Signatur hat:
func glShaderSource(shader: GLuint, count: GLsizei, string: UnsafePointer<UnsafePointer<GLchar>>, length: UnsafePointer<GLint>)
Wenn ich versuche, den Shader String passieren direkt erhalte ich die Fehlermeldung glShaderSource :
'String' is not convertible to 'UnsafePointer<UnsafePointer<GLchar>>'
Wie String richtig übergeben? (xCode Version 6.1 (6A1052d))
' glShaderSource' nimmt ein Array von Strings. –
@ColonelThirtyTwo Ja, natürlich. Eine einzelne Zeichenfolge kann jedoch als 'char text [] =" ... "übergeben werden; glShaderSource (s, 1, (char **) Text, NULL) 'in C. Ich denke also, dass Single Strnig in Swift auf die gleiche Weise übergeben werden kann. In jedem Fall werde ich ebenso glücklich sein zu lernen, wie man ein einzelnes String- oder String-Array an die Funktion übergeben kann. –
Das ist nicht korrekt. Es ist 'glShaderSource (s, 1, & Text, NULL)' in C. –