About "true CUDA/Physx interop", PxTask and VC11 compatibilty..

Hi sorry for saying so clearly but I’m after all a little decieved by binary release of Physx…
I thought to make a simple demo similar as shown in GTC last year showing interop between Optix and Physx…
Great news is Optix 3 has getters to get CUDA pointers to Optix buffers etc… so I can animate in CUDA some model an render from that in Optix without doing GPU/CPU transfers… interested in doing the same with a Physx fluid “particlefluid” and render in optix I have found that isn’t possible currently(?!)…
basically there is no way to get GPU (CUDA) pointers of simulated data so altough particle modules can do work on GPU even visualizing this particles

requires readback to host and sending back to GPU for rendering via OGL or D3D… Physx wants you to lockParticleReadData and then read "positionBuffer" and the like why not getting some "positionBufferGPU" by setting PxParticleReadDataFlag to ePOSITION_BUFFER_GPU or something like that…
(note that APEX seems to expose true GPU interop but to me in a way that requires some "non light" modifications to your render engine (why not get also following solution to APEX world also?)
First I tested on a Win8 VC11 system and Physx seems not supported right now… but worse is really samples not compiling… well it all boils down to pxtask

library as core physx libraries have no problem linking in VC11 and others with errors such as PhysxExt and such we have source shipping with SDK so we can

compile in VC11 and fix it… so core problem lies in pxtask.lib which has no source shipping and linker returns error with compiler version '16’being

different to current one ‘17’…
I want to make point to Nvidia to fix pxtask library to be usable in VC11 but better to ship source of it as it will resolve also true Physx/CUDA interop

which currently means true Physx/GL/D3D/Optix interop and rendering of simulated data without readbacks… that would be possible to track allocations to gpu by particles mode and using of a getPtr to NvCudaBuffer object… of course similar way we would get access to cloth and future coming rigid bodies on GPU on Physx… Certainly in APEX is doing something like that by not expose in low level Physx framework also… seems unacceptable in this GPU world to have to send data back to CPU for rendering…

Hi,

I believe that this is at least partly due to a problem with CUDA and VS2012. I’ve asked some experts to comment, please stay tuned.

Thanks,
Mike

Hi,

Not sure about the VC11 issues, but with respect to accessing the particle data through gpu device memory - this feature will come with the next version of PhysX, pretty much as you described it.

Cheers,
Simon

thanks for looking at it…
Hope we can see some beta in GTC or GDC this month… if not some estimated release date?