Scarico a HLSL / GPU senza visualizzare?
-
27-09-2019 - |
Domanda
Per quanto ne so, alcune funzioni matematiche come FFT e Perlin rumore, ecc può essere molto più veloce quando fatto sulla GPU come un pixel shader. La mia domanda è, se volevo sfruttare questa ai risultati calcolare e flusso di bitmap, potrei farlo senza bisogno di realtà visualizzarlo in Silverlight o qualcosa del genere?
In particolare, stavo pensando di utilizzare questo per la generazione di terreni di grandi dimensioni che coinvolge un sacco di Perlin e altri rumori, e di post-processing come alti passi e derivanti da normali heightmaps, ecc, ecc.
Soluzione
La risposta è sì. La risposta è più che è possibile impostare (per esempio) una texture come destinazione, il rendering che deposita i tuoi risultati lì.
A meno che non sei veramente impostato sull'utilizzo di uno shader per fare il calcolo, si potrebbe desiderare di considerare l'utilizzo di qualcosa che in realtà è stato progettato per questo tipo di lavoro, come Cuda o OpenCL.
Altri suggerimenti
Hmm sua una buona domanda.
Tutto ciò che può essere visualizzata può essere resa utilizzando un'istanza WriteableBitmap
e il suo metodo Render
. È possibile accedere al uscita utilizzando la proprietà Pixels
array di byte.
Tuttavia (supponendo accelerazione GPU è acceso e il contenuto viene opportunamente segnalato di utilizzare la GPU) se tale un renda effettivamente fare uso della GPU quando si va a un WriteableBitmap
posto del display non so.