Jump to content

  • Log In with Google      Sign In   
  • Create Account

Minimum Near View-Plane Z ?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
4 replies to this topic

#1 Endemoniada   Members   -  Reputation: 312

Like
0Likes
Like

Posted 10 April 2013 - 02:45 PM

Hi guys,

 

I read that you should try to keep the z-value of the near-view plane (for D3DXMatrixPerspectiveFovLH()) as great as possible but I don't know what an acceptable value is.

 

Is 0.5 alright ?

 

Thanks.

 



Sponsor:

#2 Ravyne   GDNet+   -  Reputation: 7394

Like
0Likes
Like

Posted 10 April 2013 - 03:18 PM

It's all about precision as a function of zNear to zFar, not so much about a specific zNear -- if zFar is short, you can get away with a smaller zNear than if you had a zFar that is a greater distance away.

 

Although it's written in OpenGL terms, this page explains what's going on, and has a calculator that you can play with to explore how different zNear/zFar combinations affect precision.



#3 Brother Bob   Moderators   -  Reputation: 8196

Like
2Likes
Like

Posted 10 April 2013 - 03:48 PM

It's all about precision as a function of zNear to zFar, not so much about a specific zNear -- if zFar is short, you can get away with a smaller zNear than if you had a zFar that is a greater distance away.

 

Although it's written in OpenGL terms, this page explains what's going on, and has a calculator that you can play with to explore how different zNear/zFar combinations affect precision.

The ratio of the near and the far plane matters when you chose the scale of the scene based on your clip planes. But I'd say you more often chose your clip planes based on the scale of your scene, and then the far clip plane is pretty much irrelevant.

 

Go to the link you posted and set Z distance to, say, 10 and see how the precision at that depth is affected by the values of the near and far clip planes. If you start with, for example, znear=1 and zfar=1000, you will see the precision at Z=10. Increase the far plane and you will see that it has almost no effect on the precision of your scene at the depth you are interested in. You can push it all the way to infinity without changing the precision at Z=10 by any significant amount.

 

Changing the near clip plane, on the other hand, significantly changes the precision at Z=10.

 

If you have a predefined scale because you have your models made already, then you often don't have to bother with the far clip plane; just push it out as far as necessary, but be sure you push the near clip plane as far out as you can possibly accept because that alone is what determines your effective precision at the scale you have already designed your scene.



#4 L. Spiro   Crossbones+   -  Reputation: 13599

Like
1Likes
Like

Posted 10 April 2013 - 05:41 PM

What constitutes how “near” a clip-plane is entirely depends on the relationship between the near and far planes, which is often implicitly related to the scale of the scene.

 

0.5 is extremely far away if your whole scene exists from 0 to 10 units, for example.

Likewise, in Final Fantasy VII, every character spans between 500 and 15,000 units, making 0.5 far too small for a near clip plane.

 

 

It is entirely up to your scene and the range of depth values you need, which is directly related to the scale of your world.

To keep things simple, just keep it at the maximum value where there is little or no chance of it clipping objects, bearing in mind that if your scale is similar to that of Final Fantasy VII’s, a near plane between 50 and 100 is perfectly fine.

 

 

L. Spiro


Edited by L. Spiro, 10 April 2013 - 05:55 PM.

It is amazing how often people try to be unique, and yet they are always trying to make others be like them. - L. Spiro 2011
I spent most of my life learning the courage it takes to go out and get what I want. Now that I have it, I am not sure exactly what it is that I want. - L. Spiro 2013
I went to my local Subway once to find some guy yelling at the staff. When someone finally came to take my order and asked, “May I help you?”, I replied, “Yeah, I’ll have one asshole to go.”
L. Spiro Engine: http://lspiroengine.com
L. Spiro Engine Forums: http://lspiroengine.com/forums

#5 VladR   Members   -  Reputation: 722

Like
0Likes
Like

Posted 10 April 2013 - 06:33 PM

Also, note that if the ratio between Near and Far plane becomes too big (e.g. 0.001f vs 100000.0f), you will start getting really ugly visual artifacts for triangles near the far plane.

 

It is especially sickening in motion. To fix that, just adjust the near plane so that the ratio is better (and you will get more precision).

 

To completely fix the problem, implement a linear Z-Buffer in a Vertex Shader. It is drop-dead easy and is practically free.


VladR    My 3rd person action RPG on GreenLight:    http://steamcommunity.com/sharedfiles/filedetails/?id=92951596

 





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS