Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Questions/suggestions #71

Open
Flamaros opened this issue Aug 22, 2023 · 3 comments
Open

Questions/suggestions #71

Flamaros opened this issue Aug 22, 2023 · 3 comments

Comments

@Flamaros
Copy link

Flamaros commented Aug 22, 2023

I will do some new tests of the SDK now that I can use a GPU that support ray tracing (Nvidia 3080 RTX).

It seems that there is a lot improvements made since last time I checked, but the documentation and samples seems to stay a weakness.

Let me be specific:
For the documentation:

  • We need a comparison table of backends (hybrid, hybrid pro, Northstar)
    • Rendering differences
    • Features supported
    • Performance differences
  • More explanations on how to integrate in an application (UI, DX12, Vulkan,...).
    For samples:
  • really need to have an application that do real time rendering with a small UI, for each backends.
    • GL interop is the only one interactive and the navigation is not smooth.

Last time I checked I got issues depending on the selected GPU (integrated or discret) and backends seems to see GPU in different orders, so having a way to select them by name in the API can be great.

Please notice that I tried the NVidia Pathtracer SDK, which provide a full interactive application directly. It is much more convenient to see what their SDKs are capable to do.

@Flamaros
Copy link
Author

Flamaros commented Sep 3, 2023

I made a quick try to rebuild my project that use Dear ImGUI with OpenGL backend and use Hybrids RadeonProRender backends but I got the error -18 (Internal error) when creating the rpr context. I think that there is a conflict with the initialization of my OpenGL context in some way.
I think that the rpr API should return much more verbose issues, actually it is pretty hard to debug things that should be trivial to put in place.

The Hybrid tutorial project works fine on my computer. But I think I found an issue:
The HybridPro backend give me this result:
63 hybrid pro
And the Old Hybrid backend this one
63 hybrid

I am not sure which give the right render.

@EPrikazchikovLux
Copy link

EPrikazchikovLux commented Sep 7, 2023

I made a quick try to rebuild my project that use Dear ImGUI with OpenGL backend and use Hybrids RadeonProRender backends but I got the error -18 (Internal error) when creating the rpr context. I think that there is a conflict with the initialization of my OpenGL context in some way.

To be honest we have never mixed this two API. I don't think it should affect context creation. But lets wait more details from logs.

I think that the rpr API should return much more verbose issues, actually it is pretty hard to debug things that should be trivial to put in place.

In the HybridPro extended API (RadeonProRender_Baikal.h) we have function rprSetLogFunction which allows you to set logging callback function.

The HybridPro backend give me this result:

Could you please to collect traces for this scene? To do this please follow this simple guide.

Add an environment variable RPRTRACEPATH pointing to a folder in which trace should be activated.
For example, set RPRTRACEPATH = C:\folder\ to activate the trace inside C:\folder\.
And restart your PC.

@Flamaros
Copy link
Author

Flamaros commented Sep 7, 2023

I made a quick try to rebuild my project that use Dear ImGUI with OpenGL backend and use Hybrids RadeonProRender backends but I got the error -18 (Internal error) when creating the rpr context. I think that there is a conflict with the initialization of my OpenGL context in some way.

To be honest we have never mixed this two API. I don't think it should affect context creation. But lets wait more details from logs.

I don't think that there is a particular issue with Dear ImGUI, I certainly do something wrong with OpenGL configuration (context creation flags, order issue with rpr,...). That is why having minimal interactive tutorials with that works with all rpr backends and graphic API (DX12, OpenGL, Vulkan, Metal,...) would be really appreciated. I saw the headers with API for interops with all graphical API, but there is no real documentation on how to setup this (swap chain fences, resolutions issues,...).

It might be accessible for an expert, but I don't work with those API every day, and this is why I am looking for a renderer.

I think that the rpr API should return much more verbose issues, actually it is pretty hard to debug things that should be trivial to put in place.

In the HybridPro extended API (RadeonProRender_Baikal.h) we have function rprSetLogFunction which allows you to set logging callback function.

I tried this (after rprRegisterPlugin call):

HMODULE  hybrid_pro_handle = GetModuleHandleA("HybridPro.dll");
rprSetLogFunction = (rprSetLogFunction_PTR)GetProcAddress(hybrid_pro_handle, "rprSetLogFunction");

rprSetLogFunction(&rpr_log_callback);

I got a handle to the module, but GetProcAddress returns a nullptr.

Here too a documentation about what is RadeonProRender_Baikal (there is nothing that indicate for which backends API applies) and how to use extended API will be welcome.

The HybridPro backend give me this result:

Could you please to collect traces for this scene? To do this please follow this simple guide.

Add an environment variable RPRTRACEPATH pointing to a folder in which trace should be activated.
For example, set RPRTRACEPATH = C:\folder\ to activate the trace inside C:\folder\.
And restart your PC.

The trace

PS: If I do all these reports is because rpr seems really great, but it is also pretty hard to come in. Due to the documentation and tutorials it still seems to be a pretty private project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants