The RTX examples I found (like https://iorange.github.io/p01/HappyTriangle.html) use a VK command (similar to a compute dispatch) to trigger the ray tracing:

|void vkCmdTraceRaysNVX(VkCommandBuffer commandBuffer, VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, uint32_t width, uint32_t height); |

This function posts the ray tracing command to a VK command queue. Finally, the main ray tracing shader "stores" the ray tracing result in an image using imageStore.

I don't know about mixing an OpenGL context and the VK counterpart (device, physical device, command queue, images...). It is maybe possible but like the CUDA /GL interoperability, it may require expansive synchronization mechanisms.


On 21/02/2019 15:19, Chris Hanson wrote:
So, you'd need a shared GL/Vk context in order to Vk load the data and then GL trace it, if I understand correctly?

We could probably bring VSG into play to load the data. I think there's enough working code there already to do so. Or, really, we could just us what VSG has already and compose and execute the RTX commands without OSG, but copying already-composed scene data over from the OSG side.

On Thu, Feb 21, 2019 at 3:15 PM Lionel Lagarde <lionel.laga...@oktal-se.fr <mailto:lionel.laga...@oktal-se.fr>> wrote:

    Hi,

    It is a GLSL extension, the ray tracing functions use some input
    data (like the acceleration structure) that can only be
    constructed and uploaded using the vk API.


    On 21/02/2019 13:34, Chris Hanson wrote:
    One of my guys pointed out this recent addition:

    
https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GLSL_NV_ray_tracing.txt


    On Wed, Feb 20, 2019 at 9:47 PM Chris Hanson
    <xe...@alphapixel.com <mailto:xe...@alphapixel.com>> wrote:


        Well, I was wondering if there was an OpenGL RTX API
        anywhere, but it doesn't seem there is.

        Vulkan would appear to be the way to go for the future, but
        since that's not ready for the oven yet (don't even have all
        the mise en place), it might be we just have to make a
        utility library to shovel OSG data into OptiX and let it do
        the work for now. There's always going to have to be some
        kind of bridge from OSG to either Vulkan or something else if
        no OpenGL support extension ever appears.



-- Chris 'Xenon' Hanson, omo sanza lettere. xe...@alphapixel.com
    <mailto:xe...@alphapixel.com> http://www.alphapixel.com/
    Training • Consulting • Contracting
    3D • Scene Graphs (Open Scene Graph/OSG) • OpenGL 2 • OpenGL 3 •
    OpenGL 4 • GLSL • OpenGL ES 1 • OpenGL ES 2 • OpenCL
    Legal/IP •Forensics •Imaging •UAVs • GIS • GPS •
    osgEarth • Terrain • Telemetry • Cryptography • LIDAR • Embedded
    • Mobile • iPhone/iPad/iOS • Android
    @alphapixel <https://twitter.com/alphapixel>
    facebook.com/alphapixel <http://facebook.com/alphapixel> (775)
    623-PIXL [7495]

    _______________________________________________
    osg-users mailing list
    osg-users@lists.openscenegraph.org  
<mailto:osg-users@lists.openscenegraph.org>
    http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
    _______________________________________________
    osg-users mailing list
    osg-users@lists.openscenegraph.org
    <mailto:osg-users@lists.openscenegraph.org>
    http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org



--
Chris 'Xenon' Hanson, omo sanza lettere. xe...@alphapixel.com http://www.alphapixel.com/
Training • Consulting • Contracting
3D • Scene Graphs (Open Scene Graph/OSG) • OpenGL 2 • OpenGL 3 • OpenGL 4 • GLSL • OpenGL ES 1 • OpenGL ES 2 • OpenCL Legal/IP •Forensics •Imaging •UAVs • GIS • GPS • osgEarth • Terrain • Telemetry • Cryptography • LIDAR • Embedded • Mobile • iPhone/iPad/iOS • Android @alphapixel <https://twitter.com/alphapixel> facebook.com/alphapixel <http://facebook.com/alphapixel> (775) 623-PIXL [7495]

_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to