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…