Is renderer.toneMappingExposure the correct way to adjust the exposure of a scene environment map or use envMapIntensity on each material?
If using toneMappingExposure is ok, this value affects the brightness of MeshBasicMaterials where normal lights don’t. Is it possible to increase the exposure of a scene environment map for lit objects while leaving unlit objects unaffected?
adevart:
If using toneMappingExposure is ok, this value affects the brightness of MeshBasicMaterials where normal lights don’t.
You can set
Material.toneMapped
to
false
in order to exclude the material from tone mapping.
Thanks, that might work best and is easier than adjusting the environment map intensity on each lit material and making sure they have the same value.
Is there a way to adjust the intensity of an environment map texture itself? It would be easier to adjust the intensity on a single map than set the intensity on the materials.
When maps are used as light sources, having an intensity value on the texture map (or Scene object it’s attached to) would be useful, especially if the intensity is to be animated. Perhaps there could be an image-based light object to make it easier to scale/rotate the map.
In 3D software, sometimes a sky dome is made from a large sphere/cube with a texture set to emissive for illumination and the emissive property adjusted. Is this possible in ThreeJS, would it need a custom shader?
You can apply an envmap to
Scene.background
to create a skybox. If you apply the env map to
Scene.environment
, it is automatically used as the environment map for all physical materials in the scene (assumed the material’s envmap is not set).
Scene.environment
is still a new feature and it might be extended in the future.