17 releases (4 breaking)

Uses new Rust 2024

new 0.6.2 May 23, 2025
0.6.1 May 19, 2025
0.5.4 May 18, 2025
0.4.0 May 15, 2025
0.1.2 Apr 18, 2025

#77 in Graphics APIs

Download history 393/week @ 2025-04-16 360/week @ 2025-04-23 15/week @ 2025-04-30 422/week @ 2025-05-07 1004/week @ 2025-05-14

1,824 downloads per month

MIT/Apache

2.5MB
69K SLoC

C++ 62K SLoC // 0.0% comments Rust 4K SLoC // 0.0% comments Assembly 1.5K SLoC // 0.0% comments Visual Studio Project 708 SLoC Visual Studio Solution 47 SLoC C# 36 SLoC // 0.1% comments HLSL 26 SLoC GLSL 17 SLoC

Npm Crates.io Documentation

Asdf Overlay

Blazingly fast™ & Easy to use Windows Overlay library

Asdf Overlay provides an easy to use interface to draw on top of window framebuffer by hooking rendering backends

GPU shared texture was used to avoid framebuffer copy via CPU. As a result, Asdf Overlay is capable of rendering overlay with any size without performance loss.

Screenshot

Supported API

  • OpenGL
  • DX9
  • DX10
  • DX11
  • DX12
  • Vulkan

Features

  1. Supports multiple backends
  2. Blazingly fast™
  3. GPU accelerated shared overlay surface
  4. Input capture control

Pre-requirement

  1. node, pnpm package manager
  2. nightly rustc, cargo, msvc(x64, x86, arm64)
  3. Install x86_64-pc-windows-msvc, i686-pc-windows-msvc, aarch64-pc-windows-msvc rustc targets

Installing node dependencies

pnpm install

Build

pnpm build

[!WARNING] DLL and the client must be built using same rust compiler or it will misbehaviour

Example

Examples are located in examples directory.

Node

Run

pnpm build && pnpm --filter ingame-browser start <process_name>

Pressing Left Shift + A will show ingame browser overlay and input will be redirected to browser window. Pressing again will close it.

https://github.com/user-attachments/assets/d7f0db58-cb11-437f-9990-50d095c7c575

Rust

  1. Run
cargo build && cargo run -p noise-rectangle <process_name>

Glitching squares appear and disappear on target process

https://github.com/user-attachments/assets/069d1cc1-f95d-4a44-899c-7f538c0f5a69

  1. Run
cargo build && cargo run -p input-capture <process_name>

It will listen and block inputs from target process until process exit

Debugging

Run with debug build. Use external debug log viewer (ex: DebugView) to see tracing log of injected process

License

This project is dual licensed under MIT or Apache-2.0 License

Dependencies

~142MB
~2.5M SLoC