Project Description

Sometimes when developing a GTK program, we want some nice 3D rendered content in it. And to do that, usually we want to use some Graphics API.

For OpenGL, we can easily solve that with GtkGLArea. But GL is not the only API exists; there's also a fancy new API called Vulkan (and even GTK itself have a backend for it), yet at the moment there is no such thing as GtkVulkanArea.

We need to fix that.

Goal for this Hackweek

Implement a widget serve roughly the same purpose of GtkGLArea, but for Vulkan. It doesn't need to be feature complete or production ready, we just want a quick and dirty PoC as a foundation for future implementations.

Resources

GtkGLArea

Vulkan

Looking for hackers with the skills:

vulkan gtk 3d opengl c

This project is part of:

Hack Week 23

Activity

  • almost 2 years ago: vliaskovitis liked this project.
  • almost 2 years ago: epaolantonio liked this project.
  • almost 2 years ago: yudaike started this project.
  • almost 2 years ago: yudaike added keyword "c" to this project.
  • almost 2 years ago: yudaike added keyword "vulkan" to this project.
  • almost 2 years ago: yudaike added keyword "gtk" to this project.
  • almost 2 years ago: yudaike added keyword "3d" to this project.
  • almost 2 years ago: yudaike added keyword "opengl" to this project.
  • almost 2 years ago: yudaike originated this project.

  • Comments

    • yudaike
      almost 2 years ago by yudaike | Reply

      Result for this hackweek: https://github.com/MosakujiHokuto/gtk-vulkan-demo/

    Similar Projects

    pudc - A PID 1 process that barks to the internet by mssola

    Description

    As a fun exercise in order to dig deeper into the Linux kernel, its interfaces, the RISC-V architecture, and all the dragons in between; I'm building a blog site cooked like this:

    • The backend is written in a mixture of C and RISC-V assembly.
    • The backend is actually PID1 (for real, not within a container).
    • We poll and parse incoming HTTP requests ourselves.
    • The frontend is a mere HTML page with htmx.

    The project is meant to be Linux-specific, so I'm going to use io_uring, pidfs, namespaces, and Linux-specific features in order to drive all of this.

    I'm open for suggestions and so on, but this is meant to be a solo project, as this is more of a learning exercise for me than anything else.

    Goals

    • Have a better understanding of different Linux features from user space down to the kernel internals.
    • Most importantly: have fun.

    Resources