Set tone-mapping default to ACESFilmicToneMapping
alvarosabu opened this issue · comments
Describe
As a developer using TresJS, I would like the tone-mapping of the renderer to be set to ACESFilmicToneMapping
as default.
This will introduce a Breaking change.
Decisions based on feedback from the community:
From left to right: r3f, Tres, Threlte
Docs
Render defaults
Canvas uses createRoot which will create a translucent THREE.WebGLRenderer with the following constructor args:
antialias=true
alpha=true
powerPreference="high-performance"
and with the following properties:
outputColorSpace = THREE.SRGBColorSpace
toneMapping = THREE.ACESFilmicToneMapping
It will also create the following scene internals:
A THREE.Perspective camera
A THREE.Orthographic cam if orthographic is true
A THREE.PCFSoftShadowMap if shadows is true
A THREE.Scene (into which all the JSX is rendered) and a THREE.Raycaster
In recent versions of threejs, THREE.ColorManagement.enabled will be set to true to enable automatic conversion of colors according to the renderer's configured color space. R3F will handle texture color space conversion. For more on this topic, see https://threejs.org/docs/#manual/en/introduction/Color-management.
Update this is because of the toneMapping which is set as threejs default NoToneMapping
vs the ACESFilmicToneMapping
used by the rest of the renderers.
I just asked Cody and he stated that is by design to align with Blender + useful for realistic lighting