Open vinhig opened 5 years ago
Hey, I'm trying your lib. It looks good but I had a problem with shaders.
def load_shaders(path : String) vertex_id = LibGL.create_shader(LibGL::VERTEX_SHADER) fragment_id = LibGL.create_shader(LibGL::FRAGMENT_SHADER) vertex_code = File.read(path + ".vs") fragment_code = File.read(path + ".fs") LibGL.shader_source(vertex_id, 1, pointerof(vertex_code), nil) LibGL.compile_shader(vertex_id) LibGL.shader_source(fragment_id, 1, pointerof(fragment_code), nil) LibGL.compile_shader(fragment_id) program_id = LibGL.create_program() LibGL.attach_shader(program_id, vertex_id) LibGL.attach_shader(program_id, fragment_id) LibGL.link_program(program_id) LibGL.detach_shader(program_id, vertex_id) LibGL.detach_shader(program_id, fragment_id) LibGL.delete_shader(vertex_id) LibGL.delete_shader(fragment_id) return program_id end
With that simple method used to load shaders, i got this error :
in src/endiver.cr:13: argument 'string' of 'LibGL#shader_source' must be Pointer(Pointer(UInt8)), not Pointer(String) LibGL.shader_source(vertex_id, 1, pointerof(vertex_code), nil) ^
How can I pass the string content of my shader ?
Sincerely yours
Just over a year late, but I found an example usage in prism:
prism
https://github.com/neutrinog/prism/blob/4ec5befef289b0e7abad9987559c6285af3f2720/src/prism/core/shader/shader_program.cr#L355
Wow, thanks. Better late than never ^^.
Hey, I'm trying your lib. It looks good but I had a problem with shaders.
With that simple method used to load shaders, i got this error :
How can I pass the string content of my shader ?
Sincerely yours