
Exploring bump mapping with WebGL - swah
http://apoorvaj.io/exploring-bump-mapping-with-webgl.html
======
cousin_it
Wow! Parallax occlusion mapping looks almost exactly like extra 3D detail on
the model. Though I guess it wouldn't work if the details were sticking out of
the face, or otherwise changing the silhouette? Is that why the demo uses a
cube with concave faces?

~~~
slackingoff2017
This kind of mapping hit mainstream a few years ago. Look at the ground in
most games, it's not actually 3D but does a damn good appoximation.

In some games you'll see real subdivision surfaces which are even more awesome
but somewhat expensive.

I remember being super excited when these features were making their way from
software rendering to GPU years back. I would guesstimate a very large
fraction of the perceived increase in game graphics have come from these
techniques in recent years.

~~~
santaclaus
> In some games you'll see real subdivision surfaces

Cool! What games are using subds? I thought they were mostly relegated to
offline use due to evaluation cost.

~~~
corysama
I'm not certain this shipped, but there's
[http://www.graphics.stanford.edu/~niessner/brainerd2016effic...](http://www.graphics.stanford.edu/~niessner/brainerd2016efficient.html)

------
callumprentice
Great article full of useful info and live demos - thank you!

------
biocomputation
More and more I'm noticing "blogs" and "articles" that feel like repackaged
content from other sites. This article seems like a regurgitation of
information from learnopengl.com, and as such it doesn't feel noteworthy or
even interesting.

I'm all for cool OpenGL stuff, but there are much better examples of novel
graphics stuff on places like shadertoy.com or
[https://experiments.withgoogle.com/chrome?tag=WebGL](https://experiments.withgoogle.com/chrome?tag=WebGL).

~~~
roywiggins
Unless you've already internalized how this stuff works, ShaderToy code is
pretty incomprehensible. Some of it is commented, most of it isn't, and even
then, GLSL is not a great literate coding language.

Here's an example of a blog post I wrote "repackaging" a technique:

[http://roy.red/droste-.html#droste](http://roy.red/droste-.html#droste)

Compare to the code I'd found on ShaderToy:

[https://www.shadertoy.com/view/4tlGRn](https://www.shadertoy.com/view/4tlGRn)

Is it interesting if you've already spent time on this particular thing?
Probably not. But it's meant to be a useful introduction, not a novel work.

~~~
hackcasual
A lot of the shadertoy stuff is iteratively built making it even harder to
tease apart. A sophisticated demo may contain a 3d noise function, a ray
marcher, a signed distance field approximator etc... and there's nothing like
library separations.

