buddhi1980 / mandelbulber2

Official repository for Mandelbulber v2
GNU General Public License v3.0
908 stars 115 forks source link

Win10 x64: 'Surface Normal' feature generates black frames with OpenCL enabled #537

Open YarlBoro opened 6 years ago

YarlBoro commented 6 years ago

mandelbulber2 versions checked:
2.14 Official Release 2.15 Alpha2

Operating System / Platform: Windows 10 64 Bit

Graphic card: AMD Radeon R9 380 4 gb (got latest drivers, no issues with any other apps using OpenCL)

Problem: Surface Normal channel frames are always black with OpenCL enabled (all modes). Color, alpha and z-buffer channels are rendered properly.

I've tried more than few fractals and various settings image settings (antialiasing ON and OFF, various resolutions, AO ON and OFF...), still just black Surface Normals frames. It seems like OpenCL is the culprit.

I found similar bug in back-log of Mandelbulber issues, that caused same problem if Surface Normals generation was not enabled on program start. So I've tried restarting Mandelbulber with Surface Normals generation enabled - thinking maybe it's some kind of regression - but with no effect.

Steps to reproduce: Open any project. Create animation, enable Surface Normals in Preferences->Image. Render animation with OpenCL enabled. Check Surface Normals frames appearance.

I can provide more information if it's necessary.

On the side note, to all involved, thanks for developing Mandelbulber2.

buddhi1980 commented 6 years ago

Rendering of images with normal vectors is not implemented yet in OpenCL rendering engine.

YarlBoro commented 6 years ago

Thank You for replying, Buddhi!

It’s probably not an easy task. But still I hope this feature will be ported to OpenCL at certain point in the future. It is super useful for post production (relighting, compositing, etc.).

I’ve tried to render some of my animations in non-OpenCL mode, to get Normal Pass. Unfortunately this rises render time from tenths of minutes, to tenths of hours (as expected).