postprocessing icon indicating copy to clipboard operation
postprocessing copied to clipboard

Screen space reflections?

Open Ben-Mack opened this issue 4 years ago • 14 comments

Please consider implementing screen space reflections, it would be an amazing addition to improve Three.js realistic factor.

I've found some good sample, tutorial about SSR: https://github.com/Domenicobrz/WebGL2-Screen-space-reflections https://lettier.github.io/3d-game-shaders-for-beginners/screen-space-reflection.html

Related thread: https://github.com/mrdoob/three.js/issues/8248

Ben-Mack avatar Apr 14 '20 15:04 Ben-Mack

Thanks for the references. I can't say that I'm a fan of SSR, but I'll consider adding it.

vanruesc avatar Apr 14 '20 15:04 vanruesc

Just wanted to +1 the SSR request

Mykita avatar Apr 14 '20 19:04 Mykita

Just wanted to +1 the SSR request

todaylg avatar May 13 '20 08:05 todaylg

I've found an in-progress working implement for Three.js here: https://github.com/gkjohnson/threejs-sandbox/tree/master/screenSpaceReflectionsPass The result is lacking blurring by roughness, but it does look very promising. Maybe you could use it as a base to develop on?

Ben-Mack avatar May 20 '20 23:05 Ben-Mack

Thanks, that implementation does look pretty good 👌 My current plan is to finish the SSAOEffect, improve the ToneMappingEffect and then start working on SSR.

vanruesc avatar May 21 '20 12:05 vanruesc

@vanruesc Looking forward to!

gonnavis avatar Jun 17 '20 11:06 gonnavis

+1 :D

jcguarinpenaranda avatar Jul 27 '20 05:07 jcguarinpenaranda

I wrote my own and make a pr to three.js, but now just support OrthographicCamera, I'm trying to support PerspectiveCamera. Demo Demo2 clipboard

gonnavis avatar Aug 13 '20 10:08 gonnavis

PerspectiveCamera support is OK now. https://github.com/mrdoob/three.js/pull/20156

Demo

ffasdg

gonnavis avatar Aug 22 '20 23:08 gonnavis

Just here to add my +1. I'm currently experimenting with this framework for the company that I work with, and SSR would be quite beneficial!

veryprofessionaldodo avatar Jan 28 '21 13:01 veryprofessionaldodo

Hi! This will be super useful! is it currently under development?

vinkovsky avatar Mar 17 '21 03:03 vinkovsky

See this comment for the current plans regarding SSR.

I haven't forgotten about it, but it's currently not a great time to use SSR with three. The point of SSR is to render reflections without having to render the scene multiple times. This is currently not possible because three doesn't support MRT yet. Even if we were to implement SSR right now, we'd still have to render the scene many times to gather the various textures that are required to render the effect. You'd be better off using a CubeCamera or a Reflector.

vanruesc avatar Mar 17 '21 10:03 vanruesc

@vanruesc Hi, youre doing awesome work in this repo! Just wanted to let you know MRT landed in three.js r129! Will this change priority of any features, like SSR?

DolphinIQ avatar May 28 '21 12:05 DolphinIQ

@DolphinIQ Hey, thanks! The priority of SSR doesn't really change, but MRT definitely opens up a path to an efficient implementation. We still need a reliable way to modify three's built-in materials, e.g. via NodeMaterials, to make effective use of this feature. Related comment: https://github.com/vanruesc/postprocessing/issues/292#issuecomment-835860642.

vanruesc avatar May 30 '21 21:05 vanruesc

Closing in favor of #571.

vanruesc avatar Feb 12 '24 00:02 vanruesc