Sobre o projeto
gpucontext é uma biblioteca de infraestrutura compartilhada para o ecossistema gogpu, projetada para facilitar o compartilhamento de recursos de GPU entre múltiplos pacotes, evitando dependências circulares. Ela fornece um conjunto de interfaces tipadas e utilitários que permitem que diferentes componentes interajam com dispositivos GPU, sistemas de janelas e recursos específicos de plataforma.
As principais capacidades incluem:
- Gerenciamento de Recursos de GPU: A interface DeviceProvider permite a injeção de dependência de dispositivos GPU, filas e adaptadores, suportando compartilhamento tipado sem o uso de 'any'.
- Integração de Janela e Plataforma: As interfaces WindowProvider e PlatformProvider lidam com a geometria da janela, escala de DPI, acesso à área de transferência, formatos de cursor e detecção de tema do sistema (modo escuro).
- Manipulação de Eventos: EventSource e PointerEventSource fornecem interfaces para entrada de teclado, mouse e toque, incluindo suporte especializado para idiomas CJK via interfaces IME (Input Method Editor).
- Utilitários de Textura: Uma interface Texture minimalista, juntamente com TextureUpdater e TextureRegionUpdater para uploads eficientes de texturas de GPU, totais ou parciais.
- Customização de Janela: Suporte a WindowChrome para janelas sem moldura, teste de colisão (hit testing) personalizado para barras de título e alternância de tela cheia em tempo de execução.
- Registro de Backend: Um Registry[T] genérico e thread-safe para seleção de backend baseada em prioridade.
A biblioteca atua como uma ponte entre tipos de baixo nível do WebGPU (via gputypes) e frameworks de nível superior como gogpu, gg e ui.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.