At the moment I’m doing a lot of research. I’m trying to get a better theoretical understanding of whats happening “behind the scenes” of three.js.
These are topics like how does PBR work with its equations and so on. I’ve seen the article that three.js mentions when explaining PBR, but I’m looking for a more mathematical approach. Some deeper detail.
To get this started -> https://learnopengl.com/PBR/Theory
is this link a step into the right direction?
I know there is a lot on the internet but I dont want to confuse the things that three.js does with things it doesnt.
Thanks in advance!
Are you asking for the reference material used to create the three.js PBR materials?
Yes, kind of.
To be more precise -> how does the look of the metalness in the metalness-attribut gets generated. Is there a general equation or something similar? I just want a deeper understanding of the origin of this concept.
Yes. I suggest you also read the resources from the “Further reading” section. There are many papers, books and blog post about PBR so it shouldn’t be too complicated to find appropriate reading material.
Understanding metalness is only half of the story. You also have to understand its relation to roughness and the underlying concept of microfacets.
Okay, I’ll give it a try!
I think the three.js MeshStandardMaterial was originally based, at least partially, on this paper.
I could be wrong about that, but in any case this PDF is a good overview of the theory.
In addition to this I have another question: Is the bump-mapping used in three.js a classic height field bump-mapping? I had trouble while researching this.
The technique is based on this paper:
Naty Hoffman’s introduction to “Physically Based Shading” course on SIGGRAPH university offers a really good overview of the basic theory in PBR.
I suggest taking a look at it, if you haven’t done it already.
Personally, having visual cues about the subject helped me a lot when learning it, and makes it so that reading papers of related subject doesn’t feel so disconnect. As many papers assumes previous knowledge of some concepts for a clear understanding.
Okay, I’ll check it out!
As I dont want do open another discussion I have a short additional question: What kind of antialiasing is the default WebGL-Renderer using, if the antialias value is set to true?
MSAA (multisample anti-aliasing)
Oh :D, what a coincidence. Thank you