2011-01-29 14 views
10

Voglio sperimentare con alcuni GPGPU al primo posto. Avrei potuto scegliere tra 5 scelte: OpenCL, CUDA, FireStream, Close to Metal, DirectCompute. Beh, non proprio dopo averli filtrati per i miei bisogni nessuno si adatta :) Sto usando Radeon 3870HD, quindi CUDA è fuori, voglio crossplatform DirectCompute out, Close to Metal evoluto in FireStream (equivalente di CUDA per AMD) e FS ora è "deprecato" per bene di openCL. E indovina cosa? openCL è disponibile dalla serie 4xxx di radeon. Quindi non voglio imparare qualcosa che non sarà supportato e non ho HW per uno nuovo.Shaders al posto di GPGPU

Quindi fino a quando non avrò un nuovo pezzo, ho pensato che gli shader possono davvero fare cose simili, è molto più difficile ottenere risultati indietro e anche più lenti. Comunque non ho intenzione di fare ricerche con questo, quindi per me potrebbe essere abbastanza buono. Cercare qualcosa di simile in Google è lavoro per spazzino (senza offesa), quindi quali sono le possibilità di rendering in altro luogo rispetto al framebuffer utilizzato per la visualizzazione? Si può creare trame o quali altri buffer sarebbero adatti meglio per questo? In caso di tessitura vorrei alcune informazioni come accedervi, con tamponi non dovrebbe essere un gran problema ..

Quasi dimenticavo, sto usando OpenGL 3.1 e 1.5 GLSL

Grazie

risposta

10

È completamente possibile, GPGPU è stato fatto in quel modo prima che CUDA apparisse. Ecco un tutorial da quel momento:

http://www.mathematik.uni-dortmund.de/~goeddeke/gpgpu/tutorial.html

per rendere a qualcosa di diverso da un framebuffer, è possibile utilizzare Trasforma Feeback in OpenGL 3.0 per rendere a un VBO.

+0

Wow .. veloce leggere che, sembra incredibile passo dopo passo. Potrei darmi un vantaggio quando mi muovo in openCL anche .. grazie! – Raven

+2

Ciao, potresti voler controllare la mia biblioteca su http://openreng.sourceforge.net/ per esempi su GP-GPU usando OpenGL (calcolo di Voronio usando GPU, per esempio) e anche come OpenCL può essere integrato (C'è un'altra libreria all'interno chiamato CLBind). Ci sono esempi (attualmente molto semplici) di applicazioni che è possibile testare OpenCL (e interoperabilità OpenGL). Puoi trovare i codici sorgente utili, o preferisci usare la libreria stessa (che è basata su OpenGL 3.x) – AdilYalcin

+1

+1 miglior tutorial su quell'argomento –

Problemi correlati