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

Anisotropic (and rotated anisotropic) reflections that work with IBL / PMREM #9250

Closed
4 of 12 tasks
bhouston opened this issue Jun 29, 2016 · 5 comments
Closed
4 of 12 tasks

Comments

@bhouston
Copy link
Contributor

Description of the problem

We should probably implement in the core of ThreeJS anisotropic reflections and anisotropy rotation. I've implemented this in Clara.io but only for direct lights, not the PMREM filtered IBL indirect lights.

It would be cool to have anisotropy that works with IBL PMREM results -- although I understand that this may require pre-calculated anisotropic PMREM which we currently do not have, or PMREM filtering is only isotropic.

My implementation produces results that looks like this:

cooking pot ggx anisotropic metallic

https://clara.io/view/a8b929e6-c703-47ff-a85d-44bc44e5a132

Three.js version
  • Dev
  • r78
  • ...
Browser
  • All of them
  • Chrome
  • Firefox
  • Internet Explorer
OS
  • All of them
  • Windows
  • Linux
  • Android
  • IOS
@bhouston
Copy link
Contributor Author

bhouston commented Jul 4, 2019

The solution to this is "bend normals."

@bhouston
Copy link
Contributor Author

bhouston commented Jul 4, 2022

Myself and https://github.com/Threekit are pleased to put a bounty of $250 USD on an accepted PR of a full implementation of bent normals for anisotropy with environment maps. A really good reference implementation and explanation is in the Filament code base: https://github.com/google/filament/blob/df6a100fcba66d9c99328a49d41fe3adecc0165d/shaders/src/common_lighting.fs#L89

@mrdoob mrdoob added the Bounty label Jul 5, 2022
@danyjf
Copy link

danyjf commented Aug 1, 2022

Hey, I was looking at this problem and I have some questions on how it is supposed to be implemented.
Is this supposed to be an option on a material to add an anisotropic map or is it supposed to be a new material like "anisotropic material"?

@Mugen87
Copy link
Collaborator

Mugen87 commented Aug 1, 2022

Ideally, it is added to MeshPhysicalMaterial similar to clear coat, sheen or transmission.

@Mugen87
Copy link
Collaborator

Mugen87 commented Jul 9, 2023

This is implemented since r153 🎉!

@Mugen87 Mugen87 closed this as completed Jul 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants