   DirectX10 vs Cuda vs OpenCL
  Hello allWe decided to make a GPU accelerated 2D particle based physics engine.Our goal is to make a fast 2D particle simulator like OECAKE.There're some effective ways for imprementation*DirectX9*DirectX10*Cuda*OpenCLDirectX9 Currently , We are trying to imprement that on DirectX9(SM3.0) But there're many limitations. and overheadsDirectX10 stream output feature of DirectX10 sounds nice, but requires WindowsVista or above.Cuda We can write effective codes with Cuda. But Radeons are not supported.OpenCL This would be the best to write effective codes. But most hardwares aren't supportedCan anyone tell me what way I should go?Thanks[Edited by - mnemoto on June 26, 2009 10:36:35 PM]
  Well, you've already enumerated the options and their limitations, so obviously you should pick the one whose limitations are least problematic for you.   ;  Start with one now, transfer your code and ideas to other APIs later.   ;  Why don't You try to implement wrapper classes which will hide all incompatibilities. It is possible to make it without loss of performance. C++ macros are really powerful if used wisely. ;Quote:Original post by HappyCoffinWhy don't You try to implement wrapper classes which will hide all incompatibilities. It is possible to make it without loss of performance. C++ macros are really powerful if used wisely.We decided to go the way that you said.That will be hard works, but that way sounds the best to get compatibilities at now.   