Welcome @ilyasher89!
Sorry you got stuck maintaining this dependency on accident. Since the problem is with trying to install new drivers that lack support, the best short term advice is to stay on a 470 branch driver, and advise any of your users/customers that need the OptiX-related features to do the same.
Longer term, there are a few options. The next easiest option would be to deprecate your application feature that depends on selectors, in order to make the minimum code change that would allow you to use RTX. (I say this with absolutely zero knowledge of your app, so I’m fully aware I may say things that are not possible or even sound ridiculous to you. Apologies in advance if this is the case.)
Depending on how your application is using Selectors, you may be able to use OptiX 6.5 features and replace their use with either visibility masks, or with an any-hit program. This would require learning enough about OptiX 6.5 to update this feature, we are here to help if you want to go down that road. It probably wouldn’t be too hard, just be aware that OptiX 6.5 is already several years old and in maintenance mode, so keep in mind that spending effort here might not last as long as you would hope.
The best long-term option is to upgrade to OptiX 7, or to DirectX or Vulkan, but you’re absolutely right, any of these options could be a big task, and so it’s worth considering how important your ray tracing engine is to your application, and what the alternatives are. Since the DX and VK ray tracing extensions weren’t available back in the OptiX 3.9.1 days over six years ago, those are new options to investigate, and those APIs might give you better long term support options (even though we fully expect OptiX 7 to work another 6 years from now). Aside from feature continuity in your application, the main reasons to use OptiX are: it’s cross platform (Windows-Linux), comes with a high-end feature-rich denoiser, has tight CUDA integration, and has geometry primitives (e.g. curves) and features (e.g. motion blur, multi-level instancing) that aren’t available in DX/VK. There are some technical reasons as well, but the reason I’m saying this isn’t to convince to you upgrade to OptiX, it’s to help make an informed choice. If those reasons I listed aren’t things you need, that may make choosing Vulkan or DirectX easier. I probably don’t need to mention that using software ray tracing or disabling ray tracing features are other, possibly less good but perhaps viable options.
If the OptiX code is deeply entwined in your application, and you want to explore upgrading OptiX, we are happy to discuss learning resources, architectural ideas, and technical issues, either here publicly, or privately/confidentially if you’d like.
–
David.