Skip to content
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

Light intensity comparison with other render engines #4625

Closed
rawnsley opened this issue Sep 15, 2021 · 1 comment
Closed

Light intensity comparison with other render engines #4625

rawnsley opened this issue Sep 15, 2021 · 1 comment

Comments

@rawnsley
Copy link
Contributor

rawnsley commented Sep 15, 2021

I'm aware this is a can of worms and I'm not expecting pixel-perfect matching, but I'm struggling with the most basic comparison. I expect I'm doing something wrong, but I can't see it.

Sadly there are no definitive examples, but the KHR_lights_punctual extension PR has a simple one that appears good enough to start with: KhronosGroup/glTF#1223 (comment)

The initial renders don't seem to be correct, but eventually a consensus is reached from a mix of tools KhronosGroup/glTF#1223 (comment). Here is the output in glTF Viewer:

Screenshot 2021-09-15 at 14 59 20

If I load the same file into Filament's gltf_viewer the plane is completely black (once sunlight is disabled).

Screenshot 2021-09-15 at 14 59 44

I have to boost the light intensity by a factor of a thousand to get something similar to the other render engines.

Screenshot 2021-09-15 at 15 03 18

If anything Filament is giving the more believable result. The "default" light in the scene has an intensity of 1 candela and I would not expect a single candle held half a metre above a plane to have much visible effect and certainly not reach the ground nearly four meters away.

@romainguy
Copy link
Collaborator

The problem is that glTF does not define the exposure of the camera. The other renderers use a very sensitive exposure by default equivalent to f/1 1s ISO 100 in Filament. We just had a call with Khronos about this and I'm going to write a proposal for an extension that adds exposure parameters to glTF cameras. To match other renderers you can use Camera::setExposure(1) in Filament.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants