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

Ambient Occlusion and Screen Space Reflection #644

Closed
thirdmenson opened this issue Dec 15, 2018 · 11 comments
Closed

Ambient Occlusion and Screen Space Reflection #644

thirdmenson opened this issue Dec 15, 2018 · 11 comments
Assignees
Labels
enhancement New feature or request

Comments

@thirdmenson
Copy link

I was wondering if adding ambient occlusion and Screen space reflection is even in your guys road map as I didn't see it being mentioned in the readme file.

Absent global illumination feature ( which is expensive), ambient occlusion does add realism to scene at a low cost. Event though there is shadows due to light in the chess example image in the readme doc it still looks flat and lacking shadows. Ambient occlusion (ssao or hbao) would would help in that regard.

Screen space reflection is another major feature that would be a great addition to the filament renderer example implementation

@romainguy romainguy self-assigned this Dec 15, 2018
@romainguy romainguy added the enhancement New feature or request label Dec 15, 2018
@romainguy
Copy link
Collaborator

We eventually want to add ambient occlusion, the key is to do it efficiently on mobile (and hopefully avoid the typical AO artifacts like black halos around objects in front of a wall for instance). I am however not fond of screen space reflections (nor is @pixelflinger), they usually lead to unstable images. I'd rather focus first on local probes and maybe planar reflections (although these would be expensive).

@thirdmenson
Copy link
Author

thirdmenson commented Dec 15, 2018

Great. Planar reflections would be even better!

@nxrighthere
Copy link

As for ambient occlusion, consider GTAO. Not sure about the mobile platforms but various implementations on the desktops works great. Blender is using it in their real-time renderer EEVEE for example, and Amplify Occlusion for Unity.

@romainguy
Copy link
Collaborator

Yes, GTAO is on my list of potential solutions. The colored version of GTAO was too expensive for mobile if I remember correctly though (or at least seemed too expensive).

@romainguy
Copy link
Collaborator

Note that we're currently implementing a frame graph (see PR #727 for instance) which should make implementing more post-process passes easier.

@romainguy
Copy link
Collaborator

Work for an SSAO implementation is ongoing.

@pixelflinger
Copy link
Collaborator

Some early work here #1169, #1170 . Feedback welcome.

@nxrighthere
Copy link

This implementation is based on the ground truth approach (visually it doesn't look like GTAO), or it's something more traditional?

@romainguy
Copy link
Collaborator

It's traditional SSAO for now, we want to investigate SAO. We first want something that works well on mobile. We will however use the multibounce term from GTAO.

@nxrighthere
Copy link

nxrighthere commented May 10, 2019

Thanks for clarifying this. If you are interested, here's the source code of Blender's implementation.

@romainguy
Copy link
Collaborator

Folding into #1164 now that SSAO is available.

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

No branches or pull requests

4 participants