-
Notifications
You must be signed in to change notification settings - Fork 23
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
Samples missing ? #2
Comments
Hello. No, you don't need additional packages for the simple demo scenes. What OS, etc. are you using? Do the OSPRay examples |
Apologies for delay, was on vacation. Hmm, this is very unusual. And the console isn't showing any obvious error messages when launching Studio? Can you load one of the simple demo scenes (such as |
Output from "p"
|
Very odd indeed. The sphere is there in the scene and the camera is set correctly. I'm wondering if it might be your desktop visual format (for some odd reason). Can you try |
I am also including my graphics driver information just in case it might be useful
|
Does batch mode generate an image? Please try |
Batch mode works
|
Thanks for your patience. This is a weird one. So, we know that the scene is loading, ospray is rendering the scene, and then studio is grabbing that buffer correctly. We also know that imGui is working from the screen grabs above - and ImGui requires an OpenGL backend. That really only leaves GLFW and the interaction with the system OpenGL. Which GLFW do you have installed? Did you build it from source? Or did the ospray_studio FetchContent build it during the Studio build? Since the OSPRay examples ospExamples are running, we can definitely say that there is a combination that works.... somewhere. |
I am using the system's GLFW. My system is an Ubuntu 18.04 box My cmake configuration looks like this
nyue@head0:/data2/nyue/projects/OSPray/studio/build$ ldd ospStudio
|
I will look around to find an Ubuntu 18.04 system -- all of ours have been upgraded to at least 19.x. I assume that you have tried the binaries released on github and they produce the same result? Just trying to determine if we're chasing a build issue or a library issue. (https://github.com/ospray/ospray_studio/releases/download/v0.8.0/ospray_studio-0.8.0-linux.tar.gz) |
I have tried out the pre-built binary. The screen still shows nothing with the various demo scenes. |
I just installed a completely fresh Ubuntu 18.04 image, with very latest packages updates. I additionally installed mesa-utils, as there is no gpu in this machine, so OpenGL is coming through llvmpipe. The github pre-built binary packages run fine. This is extremely puzzling. That the background color you are seeing matches the gray we set by default suggests that something has rendered - that color comes back from OSPRay and not directly set in the window. If you select |
on a wild guess.... did the v0.7.0 release binaries work on your system? (https://github.com/ospray/ospray_studio/releases/download/v0.7.0/ospray_studio-0.7.0-linux.tar.gz) |
No it does not work. I tried changing the background color too, it did not respond to the color change event. |
Ok, thanks for trying that. My thought there was that we updated some of the 3rd party libraries (ImGui included) for the v0.8.0 release and there might be an interaction. This sure seems like a swap buffers problem. Since you've compiled Studio from source, a very simple check for this would be to comment out the |
Doing the change from |
I took a different hardware to try and isolate the problem I have now build OSPray Studio on the Jetson Nano (Picocluster 5H). This is an ARM64 CPU (it does have nvidia drivers). It is running Ubuntu 18.04 I am building from the 0.8.0 source tar ball with the following libraries (build from source for my Jetson Nano)
I am still getting nothing draw (except for the grey background) Changing color of the background has no effect. Hope this additional information is of some use. |
Thanks for trying some different hardware. Very helpful info. I assume that all packages are We have tested this with various Intel, AMD, and nvidia display out, so the nvidia drivers shouldn't be a problem. Any chance you can switch to mesa drivers, just as a test? Your That change that hung your machine really really shouldn't have - all of our libraries are ring-3 user-mode code with no kernel components. I suspect that the unrestrained framerate of frontbuffer rendering caused problems with your gpu drivers. A small sleep in place of the glfwSwapBuffers is not ideal, but should help test that frontbuffer theory. I'm also devising some other experiments to try. But, we literally do very little to get the OSPRay framebuffer into the window - a single simple OpenGL textured quad. |
Another thought, since removing the glfwSwapBuffers appears to be a problem, just set |
I tried both variation, nothing shows, just the grey background
|
the |
Another quick something to try. The OSPRay Examples ospExamples work. OSPRay Studio does not. Do the OpenVKL examples work from these release binaries? https://github.com/openvkl/openvkl/releases/tag/v1.0.1 |
Thanks! That's useful! OpenVKL uses the same OpenGL2 backend that Studio uses. I'll look for nuanced differences between the two. |
Something else to prove that the texture is being updated correctly and simply not show is to add the line glEnd();
ImGui::Image((void*)(intptr_t)framebufferTexture, ImVec2(fbSize.x, fbSize.y), ImVec2(0,1), ImVec2(1,0));
glDisable(GL_FRAMEBUFFER_SRGB); When it runs, you might have to adjust the window size that pops up (labeled debug), but the image should be there. |
even changing background color still shows glBindTexture(GL_TEXTURE_2D, framebufferTexture);
glTexImage2D(GL_TEXTURE_2D,
0,
showAlbedo ? gl_rgb_format : gl_rgba_format,
fbSize.x,
fbSize.y,
0,
showDepth ? GL_LUMINANCE : (showAlbedo ? GL_RGB : GL_RGBA),
glType,
showDepth ? pDepthCopy : mappedFB); is failing. |
Please put a GLenum error = glGetError();
if (error != GL_NO_ERROR)
std::cout << "glError : " << error; If there is a GL error here, this will spew the error to console. |
Nothing was printed out on the console
|
Wow 😳, that is a really finicky setup. How about line 852: showAlbedo ? gl_rgb_format : gl_rgba_format, to showAlbedo ? GL_RGB32F : GL_RGBA32F, |
please post the results of: |
nyue@head0:~/projects/VTK/VTKTools/houdini_build$ nvidia-smi
|
Tried the showAlbedo change, it makes no difference
|
Does |
Unfortunately, it does not make a difference.
|
Given that you've got a GT 710 and we're using a GL2 context, could this be sRGB related? glfwWindowHint(GLFW_SRGB_CAPABLE, GLFW_TRUE);
...
if (uiDisplays_sRGB && !frameBuffer.isSRGB())
glEnable(GL_FRAMEBUFFER_SRGB);
...
glDisable(GL_FRAMEBUFFER_SRGB); so that we're not asking for an sRGB FrameBuffer under any circumstances? Sure wish I could reproduce this locally. |
No difference
|
I just installed the oldest nvidia card I have My Ubuntu 18.04 install is a VM in our office and has no gpu, running the mesa llvmpipe OpenGL drivers. This too works. We've stripped back the major differences between Studio's use of the ImGUI OpenGL2 backend and OpenVKL examples, with no luck there. At this point, I'm baffled on your setup. I'm going to have to spend some time with the code to come up with some other ideas for the code. I would be interested to know if either switching to the mesa drivers or a more up-to-date Ubuntu 20.04 work for you, but I would understand your reluctance to try those changes. |
I'll look into resurrecting an old Toshiba laptop and try the Ubuntu 20.04 route and report back. ETA 4-5 days. |
Unfortunately, I expect that hardware will be different enough to not provide insight into this particular problem. And, it'll probably work without an issue. I suspect the I'll continue down the path of minor changes to our code. I could create a special branch that uses the ImGui GLFW+OpenGL3 backend (like OSPRay examples), but since the OpenGL2 has been working for the vast majority of systems (and still does for VKL examples) I can't say when that would make it into a stable release. |
But I did build with a completely different hardware, ARM64, different GPU, Tegra and different driver version and still have gray background is baffling me too. |
Testing with toshiba laptop - Ubuntu 20.04 (with latest updates)
Still getting no display of sample demo scene e.g. sphere Running pre-built binary - glxinfo (relevant bits)
|
Mind blown. I'll keep digging. |
Testing to Dell Latitude E6410 - CentOS 7.7.1908 Mesa driver
Still having the gray screen, nothing showing up with the built in demo scenes. |
On the two systems where you're using the mesa driver (nouveau in both cases?) can you please try to use the llvmpipe OpenGL driver? As per https://docs.mesa3d.org/envvars.html, |
Sorry to report I still cannot create a failing install. I have tried several older systems and various older NV card using both NV and mesa drivers. My install steps:
Then, to install nvidia drivers:
After that, I'll verify again after making sure all packages are up to date.
But, I haven't installed any other software than this. |
As I mentioned the other day, we have found a way to reproduce this problem and it only seems to occur on certain architectures. Most reliable failure seems to be a SandyBridge QEMU ubuntu install, and it looks like the frame completion flag isn't being triggered, which is causing the code to skip where we would start a new frame. A simple workaround that has resolved this deadlock for me is in MainWindow.cpp MainWindow::display(), changing: if (frame->frameIsReady()) { to if (frame->frameIsReady() || frame->frameProgress() == 1.f) { I wonder if you might be able to try this at some point? |
Works like a charm. Thank you. I have rebuild with the latest OSPRay studio with OSPRay 2.8.0 and all the dependencies. Confirming that the call to frame->frameProgress() and the comparison is essential in getting it to work. Cheers |
Thank you for verifying. I don't know what the ultimate fix will look like, but this tells us a whole lot and allows you to try some things out. Cool. That one was really keeping up and night. :-) Cheers. |
Hi Nicholas, I have merged a fix for this issue into the gitlab devel branch (6bd05fb). When you get chance, would you mind trying the latest devel branch on a couple of the system that failed for you previously? The nano cluster would be especially interesting to test on. I have verified it across several VM installs that exhibited the problem, as well as making sure it doesn't introduce artifacts in other situations. |
I have now built the branch the old Intel chip I have, it is working just fine. Thank you. The Jetson Nano cluster is misbehaving so it might take a couple more days for me to get you an answer. I am also interested to see how the fixes works out on ARM CPU |
Hmmm. Bummer. Recall that the fix is only on the devel branch at this point. You did remember to |
Ha! In my haste I did not checkout devel branch. Rebuilt everything on the So on my Jetson Nano ARM64 running Ubuntu 18.04 I have loaded all the demo scenes with no problem, with the known caveat of there being no denoiser (will follow up in a different conversation) as this tests is not on an Intel CPU. Cheers |
I have been able to build ospray_studio
In the menu, there was option to load some sample scenes but nothing happens.
Do I need to install other packages or set some CMake settings in order for the samples scenes to show up ?
Cheers
The text was updated successfully, but these errors were encountered: