# Simple Vulkan tutorial? Ideally integrated with CImGUI.jl

**URL:** <https://discourse.julialang.org/t/simple-vulkan-tutorial-ideally-integrated-with-cimgui-jl/73267>\
**Category:** GPU\
**Tags:** question, gpu, graphics, visualization, 3d\
**Created:** [December 17, 2021, 3:46pm UTC](https://discourse.julialang.org/t/simple-vulkan-tutorial-ideally-integrated-with-cimgui-jl/73267 "2021-12-17T15:46:49Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![claforte](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/claforte/32/19115_2.png) [@claforte](https://discourse.julialang.org/u/claforte)\
**Post date:** [December 17, 2021, 3:46pm UTC](https://discourse.julialang.org/t/simple-vulkan-tutorial-ideally-integrated-with-cimgui-jl/73267/1 "2021-12-17T15:46:49Z")

</div>

Is anyone aware of an existing tutorial that combines Vulkan.jl and ideally CImGUI.jl? If not, I might bite the bullet during the Christmas vacations and try to do it myself, and if so, keep posting to this discussion (in the style of [Ray Tracing in a week-end - Julia vs SIMD-optimized C++ - #59 by claforte](https://discourse.julialang.org/t/ray-tracing-in-a-week-end-julia-vs-simd-optimized-c/72958/59))… but I would much rather skip the basics if someone else has already done the hard work to get it done… especially since I never programmed in Vulkan (although I have years of experience with OpenGL and DirectX).

My wish list would include:

1. A spinning, textured, shaded (ideally with a newly compiled shader) object, e.g. 1 triangle
2. Wrapped in a CImGUI.jl-driven window, with a button to start/stop the spinning

It would be even more awesome if someone can point me to a simple library to load 3D assets (e.g. glfw) and/or has already figured out how to get Vulkan raytracing to work using Vulkan.jl!

---

<div class="post-metadata">

**Author:** ![woclass](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/woclass/32/212699_2.png) [@woclass](https://discourse.julialang.org/u/woclass)\
**Post date:** [December 18, 2021, 6:36am UTC](https://discourse.julialang.org/t/simple-vulkan-tutorial-ideally-integrated-with-cimgui-jl/73267/2 "2021-12-18T06:36:31Z")

</div>

> The default backend is based on [ModernGL](https://github.com/JuliaGL/ModernGL.jl) and [GLFW](https://github.com/JuliaGL/GLFW.jl) which are stable and under actively maintained.
> 
> [Backend - Gnimuc/CImGui.jl](https://github.com/Gnimuc/CImGui.jl#backend)

I guess we need to port a vulkan backend for CImGUI.jl first before we can get them to work together.

- [imgui\_impl\_vulkan.cpp at master · ocornut/imgui](https://github.com/ocornut/imgui/blob/master/backends/imgui_impl_vulkan.cpp)
- [example\_glfw\_vulkan/main.cpp at master · ocornut/imgui](https://github.com/ocornut/imgui/blob/master/examples/example_glfw_vulkan/main.cpp)
- [backend for ImGui - JuliaImGui](https://github.com/JuliaImGui)
- [Integrating Dear ImGui in a custom Vulkan renderer :: The GutHub — My humble blog](https://frguthmann.github.io/posts/vulkan_imgui/)
