Asdf Overlay - biblioteca de overlay in-game de alto desempenho escrita em Rust
(github.com/storycraft)É uma biblioteca que ajuda a criar com facilidade softwares de overlay que podem ser exibidos sobre a janela do jogo. Embora tenha sido escrita em Rust, também oferece bindings para Node.js e um pacote para Electron.
Recentemente chegou à versão 1.0, então estou compartilhando aqui.
O que é um overlay in-game?
É um programa que exibe uma UI interativa sobre a tela do jogo ou fornece e mostra diversos recursos de conveniência. Provavelmente você já usou algo assim pelo menos uma vez por meio de um dos programas mais conhecidos abaixo.
- Nvidia Overlay - exibição de desempenho e gravação de tela
- MSI Afterburner - exibição do uso de GPU e de recursos do sistema
- Discord - recurso de overlay para chat de voz
- Steam - exibição de notificações da Steam, além de chat e navegador
Necessidade
Os overlays funcionam inserindo código no processo-alvo, fazendo hook das funções necessárias para o processo de renderização e para a entrada, e desenhando o overlay na etapa final da renderização. Não é fácil criar um programa que funcione de forma estável, e quase não existem bibliotecas de código aberto publicadas para isso.
O Asdf Overlay oferece várias funcionalidades necessárias para exibir overlays e, por meio de uma implementação de IPC, permite que ele também seja facilmente controlado a partir de processos externos.
Recursos e funcionalidades
A biblioteca Asdf Overlay oferece suporte aos seguintes recursos.
- Suporte e detecção automática das APIs gráficas DirectX9, 11, 12, OpenGL e Vulkan
- Captura e interceptação de entrada da janela
- Funcionalidades básicas de layout de overlay
- Renderização de overlay sem overhead de CPU
Também fornece exemplos e documentação de guia para facilitar a criação de overlays com Electron.
1 comentários
Fazia tempo que eu não via um projeto interessante assim. Torço por vocês.