JoeyDeVries/LearnOpenGL

Bloom behavior varies on different machines.

Kaesebrot84 opened this issue · 1 comments

Hello first of all I want leave a huge thank you @JoeyDeVries for this great resource, I learned a lot from it. Thank you for your time and effort.

The issue

I implemented the bloom chapter which renders a single light cube and a skybox. It compiles and runs on both Linux and Windows (gcc/MinGW). On Windows the application renders as expected every single time.

image

On my Linux machine it produces different/wrong results in the blur section.

  • sometimes it produces artifacts like:
    • rendering the entire output in a pinkish color
    • producing visual artifacts boxes and patterns
    • rarely and randomly it produces the expected output
    • In most cases the output of the blur shader is simply black

Screenshot_2021-05-16_15-02-27
Screenshot_2021-05-16_14-45-47

I tried using RenderDoc and as mentioned above, in most cases the output turns black on the first blur iteration and the black output is passed down to further blur iterations. Here is the output of the first iteration.

Screenshot_2021-05-16_15-04-36
Screenshot_2021-05-16_15-04-53

The only lead I have right now is the varying behavior on two machines. So I will try to list the some major differences between them.

The "working" machine is running Windows 10 (MinGW64 for building) and has a NVIDIA GeForce. The other machine is a Arch Linux - Manjaro (gcc/g++ for building) with a AMD Radeon.

I also tried to spot some differences in RenderDoc but the only thing I found was the Min&Mag&Mip filter which looks like this on Windows:

image2

On my Linux machine it has another value:

Screenshot_2021-05-16_15-36-47

Any idea what might cause such issues?

Never mind I had another fbo setup which overwrote the bloom buffer data. Still wondering why it had different behavior on different machines.