# Julia Graphics Library

**URL:** <https://discourse.julialang.org/t/julia-graphics-library/8789>\
**Category:** General Usage\
**Created:** [February 3, 2018, 3:27am UTC](https://discourse.julialang.org/t/julia-graphics-library/8789 "2018-02-03T03:27:54Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![jacobcvt12](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jacobcvt12/32/2695_2.png) [@jacobcvt12](https://discourse.julialang.org/u/jacobcvt12)\
**Post date:** [February 3, 2018, 3:27am UTC](https://discourse.julialang.org/t/julia-graphics-library/8789/1 "2018-02-03T03:27:54Z")

</div>

Are there any native Julia libraries for low-level graphics? Or are all options wrappers for other graphics libraries (such as OpenGL)?

---

<div class="post-metadata">

**Author:** ![Gnimuc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gnimuc/32/2194_2.png) [@Gnimuc](https://discourse.julialang.org/u/Gnimuc)\
**Post date:** [February 3, 2018, 6:27am UTC](https://discourse.julialang.org/t/julia-graphics-library/8789/2 "2018-02-03T06:27:14Z")

</div>

> **[GitHub - JuliaGL/ModernGL.jl: OpenGL 3+ bindings for Julia](https://github.com/JuliaGL/ModernGL.jl)**
>
> OpenGL 3+ bindings for Julia. Contribute to JuliaGL/ModernGL.jl development by creating an account on GitHub.

> **[GitHub - JuliaGPU/VulkanCore.jl: Julia bindings for the Vulkan API](https://github.com/JuliaGPU/VulkanCore.jl)**
>
> Julia bindings for the Vulkan API. Contribute to JuliaGPU/VulkanCore.jl development by creating an account on GitHub.

---

<div class="post-metadata">

**Author:** ![ihnorton](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ihnorton/32/26_2.png) [@ihnorton](https://discourse.julialang.org/u/ihnorton)\
**Post date:** [February 3, 2018, 1:03pm UTC](https://discourse.julialang.org/t/julia-graphics-library/8789/3 "2018-02-03T13:03:23Z")

</div>

There’s also Cairo.jl. I don’t think there are any platform-native wrappers if that’s what you have in mind by “low-level” (Metal, GDI, etc).

---

<div class="post-metadata">

**Author:** ![lobingera](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/lobingera/32/211_2.png) [@lobingera](https://discourse.julialang.org/u/lobingera)\
**Post date:** [February 3, 2018, 1:12pm UTC](https://discourse.julialang.org/t/julia-graphics-library/8789/4 "2018-02-03T13:12:38Z")

</div>

It would help the discussion if you specific ‘low-level’ more clearly.  
If you are interested in ‘low-level’ rendering algorithms (like bresenham for rendering lines in pixels) in julia i remember some discussions but no actual code.

---

<div class="post-metadata">

**Author:** ![jacobcvt12](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jacobcvt12/32/2695_2.png) [@jacobcvt12](https://discourse.julialang.org/u/jacobcvt12)\
**Post date:** [February 4, 2018, 1:28am UTC](https://discourse.julialang.org/t/julia-graphics-library/8789/5 "2018-02-04T01:28:40Z")

</div>

Sorry - I’m not really down with the lingo. I’m curious if there is any kind of native Julia implementation for creating a GUI or making a simple game? Or do all of the options involve wrapping OpenGL or GTK etc?

---

<div class="post-metadata">

**Author:** ![Gnimuc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gnimuc/32/2194_2.png) [@Gnimuc](https://discourse.julialang.org/u/Gnimuc)\
**Post date:** [February 8, 2018, 3:45am UTC](https://discourse.julialang.org/t/julia-graphics-library/8789/6 "2018-02-08T03:45:52Z")

</div>

> [@jacobcvt12](#):
>
> Sorry - I’m not really down with the lingo. I’m curious if there is any kind of native Julia implementation for creating a GUI or making a simple game? Or do all of the options involve wrapping OpenGL or GTK etc?

IIUC, by “native Julia implementation” you mean a very low-level API fully implemented in Julia? No, Julia is not a language for that kinda stuff. Like OpenGL, it’s often packed within drivers which are implemented by hardware/driver engineers who can directly talk to hardware, and hardware engineers prefer to use C as their workhorse language for its portability and compatibility(I’m not talking about those super-low level engineers who write VHDL/Verilog etc for composing ASICs).

---

<div class="post-metadata">

**Author:** ![jacobcvt12](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jacobcvt12/32/2695_2.png) [@jacobcvt12](https://discourse.julialang.org/u/jacobcvt12)\
**Post date:** [February 8, 2018, 3:23pm UTC](https://discourse.julialang.org/t/julia-graphics-library/8789/7 "2018-02-08T15:23:07Z")

</div>

Thanks for the suggestions, everyone! I’m trying to learn more about developing graphics and have been writing a simple emulator. It looks like `ModernGL` is probably the way to go.
