I build low-level libraries and applications in the V programming language. The projects span reproducible Khronos API generation, opt-in typed ownership helpers, hardware-accelerated H.264 playback, and OpenCL/Vulkan interoperability.
| Layer | Project | Purpose |
|---|---|---|
| Application | v_vulkan_video |
Hardware-accelerated H.264/MP4 playback and Vulkan presentation |
| Video formats | h264 · minimp4 |
Bitstream parsing, picture ordering, and MP4 container access |
| UI and windowing | imgui · glfw |
Dear ImGui/ImPlot and focused GLFW bindings |
| Resource management | vulkan_memory_allocator |
Explicit Vulkan buffer and image allocations |
| Vulkan API | vulkan |
Generated Vulkan and Vulkan Video bindings with an opt-in ergonomic API |
| Generation | v_vulkan_bindings |
Reproducible generation from Khronos vk.xml |
The current vulkan release is v1.7.0, generated from Vulkan registry
v1.4.362. It supports V 0.5.2 across GCC, TinyCC, Clang, and MSVC, and adds
typed lifecycle, device, queue, memory, buffer, and command-pool helpers
without hiding the complete generated API.
| Layer | Project | Purpose |
|---|---|---|
| Module | opencl |
Generated OpenCL 1.0–3.0 API plus typed buffers, images, SVM, events, and kernels |
| Generation | v_opencl_bindings |
Registry-driven generator, validation pipeline, and canonical source |
| Interop example | opencl/examples/vulkan_particles |
OpenCL compute with Vulkan presentation, shared memory, and semaphore synchronization |
The current opencl release is v0.4.1. The Vulkan particle example uses
zero-copy external-memory interoperability on UUID-matched devices when the
required extensions are available, with a portable host-staged fallback.
v_imgui_examples— tested GLFW/Vulkan Dear ImGui example.
Each project README documents its supported scope, native dependencies, and the shortest path to a working build.
The software and its documentation remain freely available. If you would like to support continued work on bindings, portable builds, examples, and documentation, visit oreskin.de/support.
