module Glutils

using ModernGL
using StaticArrays

include("utils.jl")
include("uniforms.jl")
include("shaders.jl")
include("buffers.jl")
include("textures.jl")

export @fragment_srt
export @geometry_srt
export @map
export @program_str
export @uniforms
export @uniforms!
export @vertex_srt
export @g_str

export arraybuffer
export bindbuffer
export bufferdata
export compile_shader
export compiled
export genbuffer
export getuniform
export indexbuffer 
export linked
export program_infolog
export shader_infolog
export shaderiv
export sprogram
export SymString
export texture2D
export uniform!
export vertexarray
export vertexattrib

include("mat.jl"); using .Mat

# workaround (for vs-code) to get julia intellisense
# on files that are not included in the package's
# entry point
if (false)
    include("../examples/runexamples.jl")
end

end # Glutils
