Pergunta

Até onde eu sei, certas funções matemáticas como FFTs e ruído de perlin, etc. podem ser muito mais rápidas quando feitas na GPU como um shader de pixels. Minha pergunta é: se eu quisesse explorar isso para calcular resultados e fluir para bitmaps, eu poderia fazê -lo sem precisar exibi -lo no Silverlight ou algo assim?

Mais especificamente, eu estava pensando em usar isso para geração de terrenos grandes envolvendo muito perlin e outros ruídos, e pós-processamento como passes altos e derivando normais de altura, etc., etc.

Foi útil?

Solução

A resposta curta é sim. A resposta mais longa é que você pode definir (por exemplo) uma textura como o alvo de renderização, que deposita seus resultados lá.

A menos que você esteja realmente pensando em usar um shader para fazer o cálculo, considere usar algo que realmente foi projetado para esse tipo de trabalho como CUDA ou OpenCL.

Outras dicas

Hmm é uma boa pergunta.

Qualquer coisa que possa ser exibida pode ser renderizada usando uma instância de WriteableBitmap e os seus Render método. Você pode acessar a saída usando o Pixels Propriedade da matriz de bytes.

No entanto (assumindo que a aceleração da GPU seja ativada e o conteúdo está adequadamente marcado para fazer uso da GPU) se tal renderização realmente fará uso da GPU ao ir para um WriteableBitmap Em vez da tela, eu não conheço.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top