Hi all, 

I'm trying to do some GLSL shaders with MacRuby. However, I'm a bit stumped as 
to how to call glGetShaderInfoLog if the shader compilation fails. The C 
function's prototype is:

void glGetShaderInfoLog(GLuint shader, GLsizei maxLength, GLsizei * length, 
GLchar * infoLog);

I couldn't find any docs on how Pointer.new_with_type, so I tried a few things, 
such as:

log_info = Pointer.new_with_type('c', 4096)
length = Pointer.new_with_type('i')
        
glGetShaderInfoLog(@shader_id, 4096, length, log_info)

However, I get the error:

TypeError: can't convert Pointer into String

It seems that the bridge wants log_info to be a String object. But, using a 
String causes a bus error. I'm expecting that the bridge isn't expecting the 
string to be mutated.

Any suggestions would be appreciated!

/\/\ike

_______________________________________________
MacRuby-devel mailing list
MacRuby-devel@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to