Skip to content

Render text with the DejaVu font using the Vulkano library.

License

Notifications You must be signed in to change notification settings

rukai/vulkano-text

Repository files navigation

Vulkano Text

dependency status

This library is useful if you are building a game prototype with Vulkano and want a quick way to add basic text rendering:

  • You can only use the DejaVu font
  • The text is rendered on top of the contents of your swapchain image (no depthbuffer or draw ordering)

Usage

Below are relevant lines taken from the triangle.rs example.

Import the library:

extern crate vulkano_text;
use vulkano_text::{DrawText, DrawTextTrait};

Create DrawText:

let mut draw_text = DrawText::new(device.clone(), queue.clone(), swapchain.clone(), &images);

Specify text to draw by calling queue_text:

draw_text.queue_text(200.0, 50.0, 20.0, [1.0, 1.0, 1.0, 1.0], "The quick brown fox jumps over the lazy dog.");
draw_text.queue_text(20.0, 200.0, 190.0, [0.0, 1.0, 1.0, 1.0], "Hello world!");
draw_text.queue_text(x, 350.0, 70.0, [0.51, 0.6, 0.74, 1.0], "Lenny: ( ͡° ͜ʖ ͡°)");
draw_text.queue_text(50.0, 350.0, 70.0, [1.0, 1.0, 1.0, 1.0], "Overlap");

Call draw_text on the AutoCommandBufferBuilder after your game render pass:

.draw_text(&mut draw_text, image_num)

You will also need to recreate DrawText when you recreate your swapchain e.g. due to window resize

Example Render

Result:

About

Render text with the DejaVu font using the Vulkano library.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published