-
Notifications
You must be signed in to change notification settings - Fork 78
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
Force C++11 (at least on Ubuntu 18.04) #207
Comments
How did you do it? I tried using this compiler, added in top of the root CMakeLists.txt the following code:
But I get build error anyway:
I use Clang compiler, provided by standard Kubuntu 18.04 repos. |
You need: At the top of everything (one of the first things it gets executed, and find in files in other *.txt and *.cmake files that it doesn't get overriden):
And regarding the use of Clang, you need to set the C++ compiler too:
Additionally: This repo is mostly abandoned by AMD now and they kept developing it further as closed source. Some of the samples work on their modern GPUs with modern drivers, with minor glitches, while other samples completely break apart. The only thing I managed to work out of the box exactly as intended is an older demo they packaged for Windows, on a Radeon HD 7770. But when I tried it on a RX 560 (same OS, same exe), there were issues. When it doesn't crash but it looks glitchy, I didn't research further but it looked like NaNs were creeping out when rays hit outside the scene, thus 'tainting' the scene. RadeonRays runs rock solid for me, but Baikal... not so much. It's a shame, because the Radeon HD 7770 demo was amazing (pathtracing was so fast and quality so good) |
Thank you for your response! Now, I have another error:
I don't know what's this library c++experimental and can't find it in standard Kubuntu 18.04 repos. What is it? |
You need to do:
|
Hi @McSeem . This is a pathtracing renderer, so the performance is expected. You can use Radeon Rays for RT effects, and we also have an SDK for noise redeuction etc: https://www.amd.com/en/technologies/radeon-prorender-developers |
As bsavery said, Baikal is a full-blown PBR pathtracer. Its aim is similar to that of Cycles (Blender) Octane, LuxRender and Mitsuba. By its nature, pathtracers are noisy and either require lots of samples or denoiser to get a crisp picture. While it might be possible to be used in games, its use cases would be very specific (e.g. for baking GI data, for comparison as ground truth). What you seem to be after is a simple raytracer. For an easy explanation of a pathtracer vs raytracer see Path Tracing vs Ray Tracing. The closest equivalent replacement for DXR would be RadeonRays which is also used by Baikal. RadeonRays simply takes as input "please shoot these rays at these locations & directions" and outputs "here's what they hit", which is also what DXR does. Cheers and good luck |
Trying to link after compiling with Clang 7.0 will fail because it defaults to C++14; yet ImageIO as provided by Ubuntu 18.04 was built using C++11
Simply adding:
set(CMAKE_CXX_STANDARD 11)
at the top of the root CMakeLists.txt fixed the problem.
Btw building with gcc is broken. It keeps complaining:
I have no idea how to force CMake to NOT use C++1z; and I gave up since Clang works.
The text was updated successfully, but these errors were encountered: