Asdf Overlay - Thư viện overlay in-game hiệu năng cao được viết bằng Rust
(github.com/storycraft)Đây là thư viện giúp bạn dễ dàng xây dựng phần mềm overlay có thể hiển thị phía trên cửa sổ game. Thư viện được viết bằng Rust, đồng thời cũng cung cấp binding cho Node.js và gói dành cho Electron.
Gần đây dự án đã phát hành bản 1.0 nên tôi đăng lên để giới thiệu.
Overlay in-game là gì?
Đây là chương trình hiển thị UI có thể tương tác trên màn hình game hoặc cung cấp và hiển thị nhiều tính năng tiện ích khác nhau. Có lẽ bạn đã từng dùng qua ít nhất một trong những chương trình tiêu biểu dưới đây.
- Nvidia Overlay - tính năng hiển thị hiệu năng và quay màn hình
- MSI Afterburner - tính năng hiển thị mức sử dụng GPU và tài nguyên hệ thống
- Discord - tính năng overlay voice chat
- Steam - tính năng hiển thị thông báo Steam cùng chat và trình duyệt
Sự cần thiết
Overlay hoạt động bằng cách chèn mã vào tiến trình đích để hook các hàm cần thiết cho quá trình render và input, rồi vẽ chồng overlay ở bước cuối của quá trình render. Việc tạo ra một chương trình hoạt động ổn định không hề dễ, nhưng cũng hầu như không có nhiều thư viện mã nguồn mở được công khai.
Asdf Overlay cung cấp nhiều chức năng cần thiết cho việc hiển thị overlay, đồng thời thông qua implementation IPC giúp có thể dễ dàng điều khiển ngay cả từ tiến trình bên ngoài.
Đặc điểm và tính năng
Thư viện Asdf Overlay hỗ trợ các tính năng sau.
- Hỗ trợ và tự động phát hiện các API đồ họa DirectX9, 11, 12, OpenGL, Vulkan
- Capture và chặn input của cửa sổ
- Chức năng layout overlay cơ bản
- Render overlay không gây CPU overhead
Dự án cũng cung cấp ví dụ và tài liệu hướng dẫn để có thể dễ dàng tạo overlay thông qua Electron.
1 bình luận
Lâu rồi mới thấy một dự án thú vị như vậy. Ủng hộ nhé.