Aplique uma tomada de ColorMatrix uso da GPU
-
19-09-2019 - |
Pergunta
Eu tenho um aplicativo C # que recolors uma imagem usando ColorMatrix. Eu entendo que ColorMatrix não faz uso da GPU. Qual seria o melhor caminho para explorar se eu queria usar a GPU para recolorir a imagem? Ponteiros para onde olhar em qualquer bibliotecas sugeridas seria apreciada, exemplos ainda mais!
Solução
O que você está procurando é chamada Pixel Shaders , eles são minúsculos rotinas que são executados em paralelo em pelo GPU cada pixel de uma determinada textura / imagem. Desde que você está usando C #, você pode usar WPF que permite pixel shaders a ser aplicado em qualquer elemento. Aqui está uma lib no Codeplex que inclui muitos shaders como fazer uma imagem de um negativo preto e branco ou.
Se você não planeja usar WPF que pode ser 'exagero' se você só pretende fazer processamento de imagem, começa a usar tecnologias como Direct3D, OpenGL ou a recente Direct2D de aplicar com pixel shaders facilidade sobre um alvo de renderização.