The Geometry Behind Normal Maps
shlom.dev
The Geometry Behind Normal Maps
1–6 of 6 posts
Re: The Geometry Behind Normal Maps
#2Re: The Geometry Behind Normal Maps
#3Note that normal maps are still widely used in PBR workflows. The article doesn't mention them, but older renderers tended to use diffuse, specular, normal maps, and modern asset creation typically involves albedo, roughness/smoothness, metalness, and ambient occlusion maps in addition to normal maps for textures.
Re: The Geometry Behind Normal Maps
#4Heh; with mesh shaders and Nanite, we sort of can now. Whether older GPUs can render them is a different matter altogether though.
Re: The Geometry Behind Normal Maps
#5I find the second definition more intuitive and easier to visualize, while the first is more formal and algebraic. For example, using the second definition it's easy to visualize the pushforward T(V) (given a smooth map T) of a tangent vector V at p to another vector U at q = T(p): picture a curve through p corresponding to V mapped via T to a curve through q. That curve defines the pushforward U = T(V). This isn't a substitute for the algebraic definition of a pushforward, of course, but I find it helpful. (The same approach is easy to extend to the pullback of a 1-form.)
Re: The Geometry Behind Normal Maps
#6> If we could afford a polygon for every pixel we wouldn’t need textures at all. Heh; with mesh shaders and Nanite, we sort of can now. Whether older GPUs can render them is a different matter altogether though.
We've been in 'kind of can' territory for a long time in terms of hardware capabilities. We're just now writing the software to actually do it.