Filesaver hdr export half float?

Use this forum for general user support and related questions.
Forum rules
Please upload a testscene that allows developers to reproduce the problem, and attach some images.
Fox
Posts: 437
Joined: Sat Mar 31, 2018 11:17 am

Re: Filesaver hdr export half float?

Post by Fox »

I see, thank you B.Y.O.B.
I had it running for a 1 hour with classic and there is no black center visible.
Maybe it's something with curved surfaces and too huge VM start radius.
Shortest edge length in lens element is 0.000005476, i set the start radius to 0.000005476 and see what happens, classic already works so why not for the shake of curiosity.
Fox
Posts: 437
Joined: Sat Mar 31, 2018 11:17 am

Re: Filesaver hdr export half float?

Post by Fox »

Does the 32 bit float limit matter in luxcore in terms of what's on hdr map times gain?
I will check this next, gain down and use instead camera shutter speed compensation.
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Filesaver hdr export half float?

Post by Dade »

Fox wrote: Sun Dec 30, 2018 4:24 am Does the 32 bit float limit matter in luxcore in terms of what's on hdr map times gain?
32bit limits are a lot largest than 16bit but are still there so it is still possible to go out of bounds.
Support LuxCoreRender project with salts and bounties
Fox
Posts: 437
Joined: Sat Mar 31, 2018 11:17 am

Re: Filesaver hdr export half float?

Post by Fox »

Limiting the maximum float to 32bit range didn't work out.
Maybe there are some nasty small floats, image editor can only show me 3 digits after comma 0.000, but 16bit limit is 0.000061.
I will add 0.0001 to hdr map.

edit
The hdr map that was edited to 16bit float range was exported to exr unchanged by Blender 2.79b and filesaver engine. Sun keeps it's dynamic range / values.
Fox
Posts: 437
Joined: Sat Mar 31, 2018 11:17 am

Re: Filesaver hdr export half float?

Post by Fox »

I prepared small scene showing the problem.
Both sun lamp and hemi have sort of clamping problem in reflection, on mirror mat and on glass mat.
Problem is similar with flat or smooth shading over 24 hour render in LuxCore ui 2.1 and last 2.2.
https://drive.google.com/file/d/1q3Khqg ... sp=sharing

Glass BiDirCPU
Glass BiDirCPU.jpg
Glass BiDirVM
Glass BiDirVM.jpg
Mirror BiDirCPU
Mirror BiDirCPU.jpg
Mirror BiDirVM
Mirror BiDirVM.jpg
Fox
Posts: 437
Joined: Sat Mar 31, 2018 11:17 am

Re: Filesaver hdr export half float?

Post by Fox »

Mirror reflection set to 0.000001
HDR map mixed in the range of 0.001 to 0.95 and saved as 32bit IEEE full float.
BiDirVM black sun still not gone.

Mesh emitter, DLS on or off no black sun with BiDirVM :roll:
(infinitelight :twisted: )

Here with infinitelight, visibility map enabled and map gamma set to 2.2
You can see polygon faces. Glass material dispersion enabled and the dispersion pixels have normal high RGB values in 3+ digits,
but reflection of sun is like below 1 in brightness with hemi gamma of 1, but lightens up with gamma 2.2 :roll:
Lamp_Hemi Gamma 2.2 visibility map.jpg
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Filesaver hdr export half float?

Post by Dade »

Does it happen with plain BiDir too ? BiDirVM is not supported.
Support LuxCoreRender project with salts and bounties
Fox
Posts: 437
Joined: Sat Mar 31, 2018 11:17 am

Re: Filesaver hdr export half float?

Post by Fox »

VM is the only problematic.
Fox
Posts: 437
Joined: Sat Mar 31, 2018 11:17 am

Re: Filesaver hdr export half float?

Post by Fox »

I maybe sort of found out the black sun issue with infinity light and BiDirVM.

See the line 73:

Code: Select all

const float InfiniteLightSource::LIGHT_WORLD_RADIUS_SCALE = 1.05f;
https://github.com/LuxCoreRender/LuxCor ... ht.cpp#L73

I replaced the default 1.05f with random number 100.05f, and now it works.
1.0f did not work.

The 100.05f might not be good for every scene, but maybe it gives a idea what the bug is in VM.
Fox
Posts: 437
Joined: Sat Mar 31, 2018 11:17 am

Re: Filesaver hdr export half float?

Post by Fox »

I have found with the BiDirVM, only the specular reflection is clamped (is this when pdfw = 1, not sure), the sun disc is still there with rough glass using hyper low roughness (something like 0.000001), but you have to wait a little for the small light source to give samples.
------
EDIT
Here it's very visible, one has weaker specular reflections (not using rough glass). Both are BiDirVM, but top one has light.cpp world radius scale scaled up by 100, but it's very slow to render (to sample sun). Bottom one is original light.cpp and very fast to render.
BiDirVM spec reflections.jpg
Post Reply