<p>I don't think vulkan has any way of natively doing curves.</p>
<p>I think you will need to program it yourself using VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR, by providing your own bounding boxes for the curves and writing your own intersection shader for them.</p>
<p>I think this is an example of what you want.
<a href="https://github.com/nvpro-samples/vk_raytracing_tutorial_KHR/tree/master/ray_tracing_intersection" rel="nofollow noreferrer">https://github.com/nvpro-samples/vk_raytracing_tutorial_KHR/tree/master/ray_tracing_intersection</a></p>

CC BY-SA 4.0
2022-09-16T12:30:45.007Z
2022-09-16T12:30:45.007Z
Peter
<p>Optix has OPTIX_BUILD_INPUT_TYPE_CURVES to model splines. The SDK comes with an example named optixHair.</p>
<p>I could not find something like this under Vulkan RayTracing Extension, how could one implement this in Vulkan?</p>

<raytracing><vulkan><raymarching>
Vulkan Ray Tracing analogue of Optix's OPTIX_BUILD_INPUT_TYPE_CURVES
Vectorizer
# Vulkan Ray Tracing analogue of Optix's OPTIX_BUILD_INPUT_TYPE_CURVES

(Asked by: username_0 on 2022-09-16)

Optix has OPTIX\_BUILD\_INPUT\_TYPE\_CURVES to model splines. The SDK comes with an example named optixHair.

I could not find something like this under Vulkan RayTracing Extension, how could one implement this in Vulkan?

**Tags:** raytracing, vulkan, raymarching


---

## 1 answers

### Answer by username_1 on 2022-09-16. Score: 3

I don't think vulkan has any way of natively doing curves.

I think you will need to program it yourself using VK\_RAY\_TRACING\_SHADER\_GROUP\_TYPE\_PROCEDURAL\_HIT\_GROUP\_KHR, by providing your own bounding boxes for the curves and writing your own intersection shader for them.

I think this is an example of what you want.
<https://github.com/nvpro-samples/vk_raytracing_tutorial_KHR/tree/master/ray_tracing_intersection>


---

