Skip to content

Support single pass with MSAA for WebGLBackend #32273

@zonkypop

Description

@zonkypop

Description

When using the WebGL2 fallback, in three 180 I could hack it using:

render(scene, camera) {
		this._renderScene(scene, camera, false)
	}

and fix the color management via shaders, however by default in three 182 it now disables MSAA.

Having an extra (redundant when not using post processing) render pass, has a pretty huge overhead for a lot devices (e.g. household integrated graphics laptops, Quest 3), often 2-4ms overhead. It's not that noticeable when testing on M1+ chips but for many other ordinary devices the overhead is significant.

I think the most elegant solution for developers would be to disable the extra pass if there is no postprocesing. This might be quite a bit of work/plumbing to get the final color conversion TSL to work on the the default materials

Solution

Default to a single forward pass, do linearToSRGB plumbing

Alternatives

leave as is

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions