16 lines
444 B
Crystal
16 lines
444 B
Crystal
module Funfriend::GL
|
|
extend self
|
|
|
|
def buffer_data_array(target : Enum, data : Array, usage_hint : Buffer::UsageHint)
|
|
data_size = data.reduce(0) {|memo, i| memo + sizeof(typeof(i))}
|
|
LibGL.buffer_data(target, data_size, Pointer(Void).new(0), usage_hint)
|
|
|
|
offset = 0
|
|
data.each do |byte|
|
|
size = sizeof(typeof(byte))
|
|
LibGL.buffer_sub_data(target, offset, size, pointerof(byte))
|
|
offset += size
|
|
end
|
|
end
|
|
end
|