How to pass string as GLchar**(char**) parameter in glShaderSource?


Denis Kreshchen

I have shaders stored in String values:

    var myShader = 
    "    attribute vec4 a_position;" +
    "    void main() {" +
    "    gl_Position = a_position;" +
    "    }"

    glShaderSource(shader, GLsizei(1), myShader, nil)

The function glShaderSource has the binding signature:

    func glShaderSource(shader: GLuint, count: GLsizei, string: UnsafePointer<UnsafePointer<GLchar>>, length: UnsafePointer<GLint>)

When I try to pass the shader string directly to glShaderSource, I get the error:

    'String' is not convertible to 'UnsafePointer<UnsafePointer<GLchar>>'

How to pass the string correctly? (xCode version 6.1 (6A1052d))

Denis Kreshchen

After half a day of searching, I found a working solution that doesn't compile with errors, and fails with a bad memory access:

var cStringSource = (code as NSString).UTF8String
glShaderSource(shader, GLsizei(1), &cStringSource, nil)

Related


How to pass string as parameter name?

username I have the following function: def create_act(user, verb, fk_name=None, fk_value=None): fk = getattr(Action, fk_name) action = Action(user=user, verb=verb, fk=fk_value) action.save() Action is a class. The class has multiple properties an

How to pass a modified string parameter?

kaan_a I'm in chapter 12 of the Rust programming language, which implements a case-insensitive line search. It doesn't make sense to me to implement the same logic twice, so I figured out if I just call the case-sensitive search function with a case-sensitive

How to pass string in url parameter?

not any From API i get something like this: processId=22, now i want to pass it in url parameter but the problem is i need to pass key and value. How can i paste the whole string as parameter. Any suggestions? So what I want to achieve is: <a *ngIf="menu.refPa

How to pass string as parameter name?

username I have the following function: def create_act(user, verb, fk_name=None, fk_value=None): fk = getattr(Action, fk_name) action = Action(user=user, verb=verb, fk=fk_value) action.save() Action is a class. The class has multiple properties an

How to pass a modified string parameter?

kaan_a I'm in chapter 12 of the Rust programming language, which implements a case-insensitive line search. It doesn't make sense to me to implement the same logic twice, so I figured out if I just call the case-sensitive search function with a case-sensitive

How to pass a modified string parameter?

kaan_a I'm in chapter 12 of the Rust programming language, which implements a case-insensitive line search. It doesn't make sense to me to implement the same logic twice, so I figured out if I just call the case-sensitive search function with a case-sensitive

How to pass a modified string parameter?

kaan_a I'm in chapter 12 of the Rust programming language, which implements a case-insensitive line search. It doesn't make sense to me to implement the same logic twice, so I figured out if I just call the case-sensitive search function with a case-sensitive

How to pass multiline String parameter?

username Suppose I have this method: def read_line_by_line(some_text) some_text.each |line| do (something) end end How can I do this? I have got: my first line of the input text I tried to pass it as a parameter but got a weird output. It doesn't read line

How to pass string parameter in innerhtml

Khurshid Ansari I am creating dynamic html basic server response. example: var responseServer = { name: "al the' too" } var htmlView = `<div onclick="info(responseServer.name)"> </div>`; //Error: al identifier is not defined. var htmlView = `<div onclick="

How to pass string as parameter name?

username I have the following function: def create_act(user, verb, fk_name=None, fk_value=None): fk = getattr(Action, fk_name) action = Action(user=user, verb=verb, fk=fk_value) action.save() Action is a class. The class has multiple properties an

How to pass a modified string parameter?

kaan_a I'm in chapter 12 of the Rust programming language, which implements a case-insensitive line search. It doesn't make sense to me to implement the same logic twice, so I figured out if I just call the case-sensitive search function with a case-sensitive

How to pass a modified string parameter?

kaan_a I'm in chapter 12 of the Rust programming language, which implements a case-insensitive line search. It doesn't make sense to me to implement the same logic twice, so I figured out if I just call the case-sensitive search function with a case-sensitive

How to pass a modified string parameter?

kaan_a I'm in chapter 12 of the Rust programming language, which implements a case-insensitive line search. It doesn't make sense to me to implement the same logic twice, so I figured out if I just call the case-sensitive search function with a case-sensitive

How to pass multiline String parameter?

username Suppose I have this method: def read_line_by_line(some_text) some_text.each |line| do (something) end end How can I do this? I have got: my first line of the input text I tried to pass it as a parameter but got a weird output. It doesn't read line

How to pass string parameter in java as parameter at runtime

username I am new to Java and I need help because how to get the value at runtime when executing a Java file. I have a Java program where the values of host, user, password and command are hardcoded, how can I parameterize them. E.g, public static void mai

How to pass string parameter in java as parameter at runtime

username I am new to Java and I need help because how to get the value at runtime when executing a Java file. I have a Java program where the values of host, user, password and command are hardcoded, how can I parameterize them. E.g, public static void mai

How to pass string parameter in java as parameter at runtime

username I am new to Java and I need help because how to get the value at runtime when executing a Java file. I have a Java program where the values of host, user, password and command are hardcoded, how can I parameterize them. E.g, public static void mai

How to pass string parameter in java as parameter at runtime

username I am new to Java and I need help because how to get the value at runtime when executing a Java file. I have a Java program where the values of host, user, password and command are hardcoded, how can I parameterize them. E.g, public static void mai

How to pass Persian string as parameter in URL?

shafizadi I have a URL like this: www.example.com/ClassName/MethodName/Arg1/Arg2 Here is my .htaccessfile too: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA] ErrorDocument

How to pass string parameter to url in view?

Smith I have a url that takes any string as a parameter. When I redirect to that URL, I want to pass parameters inside the view. How do you do this in Django? I have urls defined like this: url(r'^user_view/(?P<service_name>.+)$', views.user_view, name='user_v

How to pass a string as a parameter containing multiple strings

autumn My code is as follows: var args = "arg1,arg2" //come from external and also many e.g. arg3,arg4 ... df.select(args.split(","):_*) and then get the error: :31: error: ': *' annotations are not allowed here (such annotations are only allowed in arguments

How to pass string parameter to custom repository method?

MocaccinoFan I have a problem with AJAX + Rest + Spring boot + MySQL. The request was successful, but the response was empty, regardless of the format used in the request. Actually, the request payload shows ["customer":"MyCustomer"], so I think the problem is

How to pass string parameter to AsyncTask in Android

Martin It's really easy, but I'm stuck for an hour or so now. I am going through String[]a AsyncTaskclass like this class test extends AsyncTask<String, Void, Void>{ @Override protected Void doInBackground(String... params) { // Again, use either p

How to pass string parameter to javascript function

arrow Here is my front end: ImageButton Details = (ImageButton)e.Row.FindControl("iBtnDetails");//take lable id String strApplication1 = Details.CommandArgument.ToString(); e.Row.Attributes["onmouseover"] = "this.style.cursor='

How to pass [] string as...interface{} parameter

I understand: I know when the parameter is... strings But this case is a little different: func main() { args := []string{"hello", "world"} fmt.Println(args...) } https://play.golang.org/p/7ELdQQvdPvR The above code throws the errorcannot use args (ty

How to pass string as parameter to thread in C

dog I'm new to C and programming and I'm trying to pass a string to a thread for later manipulation. I tried creating the string using the array char string[] = "word"and passing it to the thread - pointers with char *word = "word"no luck now . How to pass str