Optix 8.0.0 API documentation problems

I’m trying to use the Optix 8.0.0 API documentation and I see organization problems with the document. For instance, this link shows me the list of host-side functional groups. https://raytracing-docs.nvidia.com/optix8/api/group__optix__host__api.html
However, if I click a link like Program Groups, all I see is a link to Host API and no list of functions.
The functions are listed elsewhere in the document, but just as a long list in the file documentation section at the end of the document.

Is there a corrected version of this document?

Yeah, that looks wrong. I’ll inform the technical writer to check on the links.

In the meantime, there are these other ways to find the desired information:

The online OptiX Programming Guide references the respective functions inside the API Reference documentation correctly though. So if you look at that instead and follow the links in there, the host functions will be shown, e.g. for program groups look here:
https://raytracing-docs.nvidia.com/optix8/guide/index.html#program_pipeline_creation#program-pipeline-creation

The API reference “Files” list is also working. That is auto-generated from the actual OptiX API headers.
These are the OptiX host functions: https://raytracing-docs.nvidia.com/optix8/api/optix__host_8h.html

Then there are always the PDF versions of the OptiX Programming Guide and API Reference inside your local OptiX SDK installation’s doc folder. Look for the files OptiX_Programming_Guide_8.0.0.pdf and OptiX_API_Reference_8.0.0.pdf.
These PDFs are also accessible as downloads in the bottom black bar on the online OptiX Programming Guide and API Reference sites.

Turns out these sections are also auto-generated from the OptiX headers which unfortunately aren’t containing the necessary tags per API function to make them visible inside these sections. Means this will need changes inside the OptiX headers to be filled with suitable links, which in turn means this can only happen with newer OptiX SDK releases.

I’ve personally never used that section of the OptiX API Reference, so I’d recommend using the other three methods I described to find the API functions in that documentation for now.

That section in the PDF is also broken the same way, at least for the Linux version I downloaded in mid-December. I tried this with both the Okular PDF reader and in Firefox…

The files list is not in alphabetical order. It looks like it’s sort of order by functional purpose, but with no subheadings for the groups, which means I have to kind of have an idea what I’m looking for and find something that looks like it suits my purpose.

I get why the functions in the header may not be in alpha order, but that’s one of the downsides of auto-generated documentation.

So it looks like the only alternative right now is use the programming guide to find things, which sort of means two documents open to look stuff up.

I also just noticed that the only place where there are hyperlinks between the programming guide and the API reference are in the online doc. The same text is not hyperlinked when I look at it in Firefox or Okular. I don’t know if that’s a PDF problem or a PDF viewer problem.

Yes, the PDF version of the API Reference cannot have different data there.
Yes, only the online versions have cross-reference links from the Programming Guide to the API Reference.

It’s normal to use both the OptiX Programming Guide and API reference at the same time.
They are accompanying each other when looking up OptiX API information.

If you open the online API Reference and expand the tree-view on the left to
NVIDIA OptiX 8.0 → Files → File List → filtered_headers → optix_host.h → (list of host functions)
then that actually shows an alphabetically sorted list of all host API functions inside that tree-view even if they are not sorted like that inside the header itself.

Since the OptiX host API nomenclature is mostly optix + type + function that will show all API functions related to, e.g. type ProgramGroup together. It won’t get more structured than that.

Similar for the optix_device.h functions in that File List.

In the end, the API Reference is just containing the information from the OptiX headers.