Hi. I finally made the first beta Geolight plug for renderman. It is implemented as the SIMD RSL plug-in with call two CUDA kernels. Workflow is very simple.
1. Dump geo-data (positions, normals, colors) to dat file from Maya
Next processes works in render time:
2. Reading dat-file for every geo-light while initialize light shader
3. Copying the data to Graphics Card memory (Host To Device)
4. Copying every grid data - P and N to Graphics Card memory (Host To Device)
5. Calling Integrator Kernel for all samples of geolight on every point of Grid
6. Calling Sum Reduce Kernel for the calculations.
7. Copying result from Device to Host
Finally I had test working this solution on 12 geolights (like CRTs) with dynamic textures. Resolution HD720. Grid size: 512. This is lighting only without shadowing.
GPU GeoLights (12Lights) from Alex Mirgorodsky on Vimeo.
1. Dump geo-data (positions, normals, colors) to dat file from Maya
Next processes works in render time:
2. Reading dat-file for every geo-light while initialize light shader
3. Copying the data to Graphics Card memory (Host To Device)
4. Copying every grid data - P and N to Graphics Card memory (Host To Device)
5. Calling Integrator Kernel for all samples of geolight on every point of Grid
6. Calling Sum Reduce Kernel for the calculations.
7. Copying result from Device to Host
Finally I had test working this solution on 12 geolights (like CRTs) with dynamic textures. Resolution HD720. Grid size: 512. This is lighting only without shadowing.
GPU GeoLights (12Lights) from Alex Mirgorodsky on Vimeo.