UVW texture coordinates, as opposed to UV texture coordinates, do not get very adequate explanation on the web. Many people offer the simple exlanation, "UV is for 2-dimensional textures and UVW are for 3-dimensional textures." I don't buy this.
I have found a small handful of explanations that I find inadequate. This and this seem to be the best I've come across.
The first link talks about an analogy of shining a laser on a wall. At a perpendicular to the wall, the beam will project as a circle. As the angle increases, however, the beam projects increasingly as an elongated ellipse (it skews).
This sounds to me strikingly like the math involved in lighting equations in that the outcome is related to a vector pointing perpendicular to the surface. How can this relationship be adequately described with a single scalar, the W coordinate (assuming my basic understanding is appropriate)? Can you explain the relationship between the UVW coordinates and the current model-view matrix?
More importantly, I have some models that describe texture coords with a non-zero W coordinate (about 1/3 of the tex coords, or so, and most non-zero values are nowhere near zero.) I'm using OpenGL ES 2.0, where my shading language only provides calls to texture2D(). First off, how significant is the effect of the W coordinate for typical models (think something shaped like an airplane)? (I suspect this question is unfair since it should depend equally on the texture itself.) Is the call to texture3D() required for this, and if so, how can I achieve the desired effect with texture2D()?
With projective textures, I assume the final texture coordinates are (x/w, y/w). Is the idea that this is only useful if you've performed some transformation on x and y, say with the texture matrix (in fixed-pipeline OpenGL)?
Most of these W coordinates are 0, so I think that rules #2 out as (x/0, y/0) is probably not the intent. Leaving potentially #4... I'll see if the modeler has any idea what these are about.
– notlesh Nov 09 '11 at 16:20