I heard in a video from Michael Abrash that Bump mapping doesn't work anymore for VR. Is that right? (Can't test by myself, don't have DK1, and I'm waiting for my DK2)
[–]nairol 7 points 3 months ago
In your Alpha 91 video you say that you use normal mapping. Recently Michael Abrash (VR guru at Valve) said in a Steam Dev Days talk that normal mapping doesn't look good in VR. Here are his slides. (The normal mapping statement is on page 40)
Just wanted to let you know. But I guess in this early stage of development it doesn't really matter that much.
I don't yet understand how the gameplay would be like but visually it already looks amazing. You have my Greenlight.
[–]ccsander 9 points 3 months ago
I have to disagree on the normal mapping comment by Abrash, or at least agree with faith303 that there are exceptions. If you have a high-polygon model and use normal mapping to add even more details, it can look stunning in VR. You just can't get away with super low-poly models and expect normal mapping will make it look ok because it won't. It will look terrible. If you use normal maps for fine details like pores or wrinkles on skin, however, it is very effective because your eyes still perceive that as real geometry in VR at that scale.
[–]subcide 3 points 3 months ago
And as bad as normal mapping may look, no normal mapping isn't exactly better.
[–]faith303 4 points 3 months ago
Thanks a lot for sharing the slides. We are aware of these facts. There are some exceptions. It can look good under specific circumstances. ...
Then there’s content. For example, no one knows yet which art styles work in VR. Detailed scenes
that look great on a screen can look like cheesy stage sets in VR – and simple scenes can seem
startlingly real. Normal maps don’t look good, and textures sometimes do and sometimes don’t. So
we’re going to have to come up with a whole new visual vocabulary for VR too.
Normal mapping looks fake in VR (or even just 3D). It's obvious you're looking at a flat quad.
I don't think it has anything to do with how big or small the polygon is. The problem is that there is no stereo parallax between the eyes. So you see the proper lighting for a higher-res mesh, but none of the stereopsis. It destroys the illusion.
float4 BumpMapPixelShader(PixelInputType input) : SV_Target
// Sample the texture pixel at this location.
textureColor = shaderTextures.Sample(SampleType, input.tex);
// Sample the pixel in the bump map.
bumpMap = shaderTextures.Sample(SampleType, input.tex);
// Expand the range of the normal value from (0, +1) to (-1, +1).
bumpMap = (bumpMap * 2.0f) - 1.0f;
// Calculate the normal from the data in the bump map.
bumpNormal = (bumpMap.x * input.tangent) + (bumpMap.y * input.binormal) + (bumpMap.z * input.normal);
// Normalize the resulting bump normal.
bumpNormal = normalize(bumpNormal);
// Invert the light direction for calculations.
lightDir = -lightDirection;
// Calculate the amount of light on this pixel based on the bump map normal value.
lightIntensity = saturate(dot(bumpNormal, lightDir));
// Determine the final diffuse color based on the diffuse color and the amount of light intensity.
color = saturate(diffuseColor * lightIntensity);
// Combine the final bump light color with the texture color.
color = color * textureColor;
It seems you are misunderstanding what I am saying, and the point of this thread. ... Though, you are correct that at large distances this illusion will remain convincing since there is not much (if any) stereopsis after a certain point.
All of rendering is a hack. But normal maps work significantly worse in VR than on a monitor because the combination of stereo and fine positional motion mean it is very obvious when something is a flat plane with "odd" lighting, and not actual geometry. ... One hack for these is to not use the vector to each actual eye in he lighting equations, but to instead use the vector to the "middle eye" for rendering both views. This at least avoids glaring stereo disparity, even if it doesn't look "correct". It doesn't solve the problem entirely though.
This is a tricky subject, and no doubt we'll discover other accepted techniques that don't work that well in VR.
I don't think anyone was saying you absolutely can't use normal mapping for VR. Of course developers will want to use the available tools, and a game may already be heavily reliant on these features if being ported from 2D. The point was just that the effect is more apparently "fake" in stereo 3D and not as effective as on a monitor. As I mentioned, there are other more modern techniques that will look good (i.e. tessellation and displacement maps).
... The Bump map filter is a filter that alters an image by using another image called the bump map. The alteration is done by moving pixels in the image left or right based on the luminance of the corresponding pixel in the bump map. ... This means that you can warp images, change the depth of items, create stereograms or create 3D images from 2D images. There are some limitations, but the with some work, you can still get great results! ...
So I could use parallax mapping or should I use displacement mapping / PN triangles tessellation?
It looks like you're new here. If you want to get involved, click one of these buttons!