Electron: O elétron pode ser renderizado em uma matriz de bytes como o Chromium incorporado

Criado em 20 mar. 2016  ·  3Comentários  ·  Fonte: electron/electron

Desejo poder pegar os dados visuais binários e enviá-los para o meu programa de motor de jogo a partir do elétron. Atualmente eu uso o Chromium Embedded com Java e JMonkeyEngine 3, os dados da imagem do Chromium embutido vão para uma textura de imagem JMonkeyEngine 3 e renderiza na tela. Posso então fazer muitas transformações, como alterar a imagem enviando seus dados por meio do OpenCV para processamento de imagem ou colocando os dados da imagem em um cubo giratório e assim por diante.

Eu quero ser capaz de fazer o mesmo com dados de imagem do Electron porque é fácil controlar o Electron a partir de Javascript e o Electron também é uma plataforma razoável para codificar.
Isso pode ser feito? Quão difícil é fazer? Existe mais de uma maneira de conseguir isso?

Também gostaria de poder incorporar Atom.io em meu aplicativo por meio desse método.

Estou disposto a pagar por isso se alguém estiver interessado em escrever código por dinheiro, mas gostaria de saber quanto esforço é aproximadamente ou se é viável antes de oferecer uma quantia e não tenho certeza se alguém está interessado em por por dinheiro.

referir-se
https://github.com/atom/electron/issues/228

Comentários muito úteis

Você pode usar a API webContents.beginFrameSubscription para esta finalidade:
http://electron.atom.io/docs/v0.37.2/api/web-contents/#webcontentsbeginframesubscriptioncallback

É uma contribuição de @brenca , e acho que é exatamente para um caso de uso como o seu.

Todos 3 comentários

@PhilAndrew Não sou um mantenedor de elétrons, nem oficialmente afiliado a esse projeto. No entanto, como você me contatou diretamente e como estou interessado no assunto, darei meus 2 centavos

Isso provavelmente é factível e você provavelmente conseguirá fazê-lo com uma recompensa sólida. O grande problema que vejo com isso é a maneira como os aplicativos Electron são estruturados / inseridos, e esse é um ponto de entrada central do JS.
Electron é mais um "shell" que pode controlar todas as APIs de desktop, ao invés de um renderizador da web puro.
Portanto, isso exigiria um novo modo / paradigma.

Eu sugeriria procurar algo mais específico para o propósito - veja Coherent GT e Coherent UI - ambos comerciais, também não sou afiliado diretamente a eles, mas sei que eles são muito bons em desempenho. As possíveis desvantagens são incompatibilidades / falta de APIs para WebKit e falta de integração com Node.js como Electron. Mas eles são construídos _especificamente para jogos, especificamente com desempenho em mente, especificamente para renderizar em textura_.

Você pode usar a API webContents.beginFrameSubscription para esta finalidade:
http://electron.atom.io/docs/v0.37.2/api/web-contents/#webcontentsbeginframesubscriptioncallback

É uma contribuição de @brenca , e acho que é exatamente para um caso de uso como o seu.

Sim, eu contribuí com isso para um caso de uso muito semelhante, você deve ser capaz de usá-lo para renderizar em uma textura 3D. O desempenho poderia ser melhorado ainda mais no futuro, mas isso exigiria muito mais trabalho e, por enquanto, funciona muito bem agora. :)

Esta página foi útil?
0 / 5 - 0 avaliações