All Projects → awolven → Vktk

awolven / Vktk

Licence: mit
Vulkan Toolkit

Programming Languages

lisp
113 projects

Projects that are alternatives of or similar to Vktk

3d Game Shaders For Beginners
🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
Stars: ✭ 11,698 (+36456.25%)
Mutual labels:  graphics, vulkan, 3d-graphics
Renderdoc
RenderDoc is a stand-alone graphics debugging tool.
Stars: ✭ 5,969 (+18553.13%)
Mutual labels:  graphics, vulkan, vulkan-api
Yave
Yet Another Vulkan Engine
Stars: ✭ 211 (+559.38%)
Mutual labels:  vulkan, 3d-graphics, vulkan-api
Vulkan
Vulkan API bindings for Go programming language
Stars: ✭ 559 (+1646.88%)
Mutual labels:  graphics, vulkan, vulkan-api
MoravaEngine
2D/3D graphics engine written in C++ language. It currently supports the following graphics APIs: OpenGL 3.3+, Vulkan 1.2, DirectX 11. Its current purpose is to experiment with various CG concepts and techniques.
Stars: ✭ 129 (+303.13%)
Mutual labels:  vulkan, imgui, 3d-graphics
Vkquake2
id Software's Quake 2 v3.21 with mission packs and Vulkan support (Windows, Linux, MacOS, FreeBSD, Raspberry Pi 4)
Stars: ✭ 543 (+1596.88%)
Mutual labels:  vulkan, 3d-graphics, vulkan-api
Flycube
Graphics API wrapper is written in C++ on top of Directx 12 and Vulkan. Provides main features including ray tracing.
Stars: ✭ 78 (+143.75%)
Mutual labels:  graphics, vulkan, 3d-graphics
Bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Stars: ✭ 10,252 (+31937.5%)
Mutual labels:  graphics, vulkan, vulkan-api
Filament
Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2
Stars: ✭ 13,215 (+41196.88%)
Mutual labels:  graphics, vulkan, 3d-graphics
Vulkan Samples
One stop solution for all Vulkan samples
Stars: ✭ 2,009 (+6178.13%)
Mutual labels:  graphics, vulkan, vulkan-api
Liblava
🌋 A modern and easy-to-use library for the Vulkan API
Stars: ✭ 275 (+759.38%)
Mutual labels:  graphics, vulkan, vulkan-api
Diligentcore
Core functionality of Diligent Engine
Stars: ✭ 263 (+721.88%)
Mutual labels:  graphics, vulkan, vulkan-api
Overload
3D Game engine with editor
Stars: ✭ 335 (+946.88%)
Mutual labels:  graphics, 3d-graphics, imgui
Dearpygui
Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
Stars: ✭ 6,631 (+20621.88%)
Mutual labels:  graphics, imgui
Silk.net
The high-speed OpenAL, OpenGL, Vulkan, and GLFW bindings library your mother warned you about.
Stars: ✭ 534 (+1568.75%)
Mutual labels:  graphics, vulkan
Gfx
[maintenance mode] A low-overhead Vulkan-like GPU API for Rust.
Stars: ✭ 5,045 (+15665.63%)
Mutual labels:  graphics, vulkan
Hybridrenderingengine
Clustered Forward/Deferred renderer with Physically Based Shading, Image Based Lighting and a whole lot of OpenGL.
Stars: ✭ 563 (+1659.38%)
Mutual labels:  graphics, 3d-graphics
Vkdoom3
Vulkan DOOM 3 port based on DOOM 3 BFG Edition
Stars: ✭ 566 (+1668.75%)
Mutual labels:  vulkan, 3d-graphics
Renderhelp
⚡️ 可编程渲染管线实现,帮助初学者学习渲染
Stars: ✭ 494 (+1443.75%)
Mutual labels:  graphics, 3d-graphics
Nova Renderer
Nova Renderer, a custom cross platform render engine written in C++
Stars: ✭ 619 (+1834.38%)
Mutual labels:  graphics, vulkan

Latest news:

Linux AMD64 port now available.

Quick start:

These instructions assume you have SBCL installed on your system with asdf and quicklisp. If you have a macOS port of SBCL that is single threaded, you can easily build a multithreaded version, but the single thread version should run the VkTk Demo just fine.

Install vulkan sdk.

git clone https://github.com/awolven/VkTk.git <vktk-dir>

Where <vktk-dir> is a placeholder for the directory you want git to create. Pick a directory name to use there. (Defaults to VkTk.)

cd <vktk-dir>

git submodule update --init --recursive

cd cimgui

git checkout cimgui-cffi

cd ..

Edit ifc/foreign-libraries.lisp:

Change *vktk-dir* to point to your <vktk-dir>.

Change *vulkan-sdk-path* to point to your vulkan sdk.

In emacs M-x slime.

(push "<vktk-dir>/" asdf:*central-registry*)

(asdf:oos 'asdf:load-op :vktk)

There currently is no standalone demo for vktk. That is a todo item. There is, however, a demo of VkTk functionality combined with oc. oc is an interface to the OpenCASCADE solid modeler. The demo shows vulkan functionality, imgui functionality and solid modeler functionality together. The idea is to turn this demo into an application. To install/run the demo, follow these additional instructions:

git clone https://github.com/awolven/oc.git

This operation may take a while as OpenCASCADE binaries are provided.

In slime:

(push "<oc-dir>/" asdf:*central-registry*)

(asdf:oos 'asdf:load-op :igp)

(igp::run-demo)

When the linux port was created, it was created on a virtual machine, so a software installable client driver was used: swiftshader. If you're running with a real vulkan capable graphics card, the performance should be fine. Swiftshader is a little slow.


What is vktk?

vktk is a library for programming Vulkan in Common Lisp.

"vktk" is an abbreviation for Vulkan Toolkit.

What can vktk do?

vktk provides an abstraction for Vulkan, GLFW, and ImGui.

Vulkan is an interactive 3d-graphics library specification with implementations on Windows, Linux, Android, and Mac. (vktk currently supports Windows, Mac, and Linux all on AMD64.) GLFW is a platform independent Windowing library, and ImGUI is a GUI library which supports interactive 3D libraries such as Vulkan, OpenGL and Direct3D.

Why Vulkan?

Vulkan aims to be the cross-platform accelerated 3D graphics library standard to replace OpenGL and is more flexible to program in threaded environments than OpenGL.

Why Common Lisp?

Common Lisp is a well supported, standardized, functional/imperative/object-oriented programming language that is designed to allow large applications to be written with it. Common Lisp is efficient and expressive but most of all I like it.

Why was vktk created?

I needed a 3D graphics/UI library for Computer Aided Design programming in Common Lisp. vktk has a sister project for using the OpenCascade solid modeler with Common Lisp.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].