







Command Buffers :: Vulkan Documentation Project
Command buffers are objects used to record commands which can be subsequently submitted to a device queue for execution. There are two levels of command buffers - primary command buffers, which can execute secondary command buffers, and which are submitted to queues, and secondary command buffers, which can be executed by primary command buffers, and which are not directly submitted to queues.
Vulkan Ray Tracing Tutorial KHR
A comprehensive tutorial for learning Vulkan ray tracing with practical examples.
Text rendering and effects using GPU-computed distances
Text rendering is cursed. Anyone who has worked on text will tell you the same; whether it's about layout, bi-directional, shaping, Unicode, or the rendering itself, it's never a completely solved problem. In my personal case, I've been working on trying to render text in the context of a compositing engine for creative content. I needed crazy text effects, and I needed them to be reasonably fast, which implied working with the GPU as much as possible. The distance field was an obvious requirement because it unlocks anti-aliasing and the ability to make many great effects for basically free.
Generating 3D Meshes From Text
I recently had a desire to convert text to 3D meshes that I could render and manipulate as part of my Geotoy project and Geoscript language. I did some research into tools and libraries that could solve different pieces of this, and I put together a pipeline that implements the whole thing - yielding nice, 2-manifold 3D meshes with arbitrary fonts, text styles, and more.
Text Rendering Hates You - Faultlore
Rendering text, how hard could it be? As it turns out, incredibly hard! To my knowledge, literally no system renders text “perfectly”. It’s all best-effort, although some efforts are more important than others.


BadAppleFont
It is possible to embed a animation into a font, with only a small amount of hacking

expenses/vulkan-without-abstractions
Contribute to expenses/vulkan-without-abstractions development by creating an account on GitHub.
The Future of Text
We are a community dedicated to working on how we can better develop text to augment our capabilities and we invite you to join us. We believe that the potential of richly interactive text to truly augment how we think & communicate is massive. Text after all, is externalized symbols we can interact with to extend our mind’s reach. Therefore text is not just a medium, it is also a tool for thought, and we are looking Beyond Visual Range.
ASCII characters are not pixels: a deep dive into ASCII rendering
A look at how I used shape vectors to achieve sharp, high-quality ASCII rendering.

Incremental Font Transfer Demo
This demonstrates the use of the incremental font transfer (IFT) to load font data for display of a variety of scripts. IFT works by using patches to extend a font to cover more codepoints and/or axes as they are encountered in rendered text. This allows loading of only the parts of a font that are actually needed. This demo is using a fully static (ie. no dynamic backend) version of IFT. IFT is currently in development with the w3c webfonts working group and an early draft of the specification implemented by this demo can be found here.
p5-single-line-font-resources/README.md at main · golanlevin/p5-single-line-font-resources
An archive of monoline vector fonts, and p5.js code to render them. - golanlevin/p5-single-line-font-resources
Evaluating and Sampling Glinty NDFs in Constant Time
Geometric features between the micro and macro scales produce an expressive family of visual effects grouped under the term 'glints'. Efficiently rendering these effects amounts to finding the highlights caused by the geometry under each pixel. To allow for fast rendering, we represent our faceted geometry as a 4D point process on an implicit multiscale grid, designed to efficiently find the facets most likely to cause a highlight. The facets' normals are generated to match a given micro-facet normal distribution such as Trowbridge-Reitz (GGX) or Beckmann, to which our model converges under increasing surface area. Our method is simple to implement, memory-and-precomputation-free, allows for importance sampling and covers a wide range of different appearances such as anisotropic as well as individually colored particles. We provide a base implementation as a standalone fragment shader.
How to draw text to a Vulkan renderpass without binding a single texture
Tiles version 0.4.18 Alpha 22 has been released. Tiles now supports the Vulkan backend, enabling GPU acceleration beyond NVIDIA across vendors on Linux, with fixes for MTP speculative decoding, Linux tool calls, and an occasional OAuth callback failure during ATproto login. Release notes ↗
Shared chat session by @tiles.run | Tiles
chat.tiles.runHey @danabra.mov, I’m working on a new labeler for arbitrary atproto records. I’d like lexicon owners to be able to suggest how to render their lexicons in the app. I’m thinking maybe @inlay.at components as sidecars?
Trezy
I'm working on a new labeler software (i.e. an alternative to Ozone) and this really feels like the right way for these things to work. 😎 #atproto