Skip to main content
GameDev.net gamedev.net
🔒 Locked

what is the range of clipping space in OpenGL?

Started by sobeit Nov 30, 2012 at 8:52 PM 2 replies 1.4k views
Original Post
sobeit
sobeit
I'm a beginner in opengl, and I enounter a problem concering about clipping space.
I calculated perspective matrix myself and passed it to vertex shader, but why triangle was visible only when the z value of vertices multiplied by my perspective matrix is positive? Since the z value range of perspective frustum [n, f] is mapped to [-1. 1] in clipping space, any -1 < z < 1 should not be clipped which is just not the case in my situation. In case that my perspective matrix is miscalculated, I directly passed vertices with -1 < z < 0 to vertex shader, still I got nothing. but it works just fine with 0 < z < 1.
Goran Milovanovic
Goran Milovanovic
From what I understand, near and far represent values that relate to camera space, not clip space.

If you use something like 0 and 100 for n and f respectively, you should be able to see geometry where incoming vertex z is negative.

Can you post the function that calculates the projection matrix, and your vertex shader?
+---------------------------------------------------------------------+ | Game Dev video tutorials  ->   http://www.youtube.com/goranmilovano | +-------------------------------------
Bacterius
Bacterius

From what I understand, near and far represent values that relate to camera space, not clip space.

If you use something like 0 and 100 for n and f respectively, you should be able to see geometry where incoming vertex z is negative.

The near-plane value should never be zero, or you will lose an immense amount of precision (remember the depth buffer uses a logarithmic scale). The best values depend on the scale of the scene, but if you're working in meters, 0.1 to 1000 is a good start IMHO.
“If I understand the standard right it is legal and safe to do this but the resulting value could be anything.”
Goran Milovanovic
Goran Milovanovic

The near-plane value should never be zero, or you will lose an immense amount of precision (remember the depth buffer uses a logarithmic scale). The best values depend on the scale of the scene, but if you're working in meters, 0.1 to 1000 is a good start IMHO.


Ah, yes, as written here: http://www.opengl.org/archives/resources/faq/technical/depthbuffer.htm

Thanks for pointing that out.
+---------------------------------------------------------------------+ | Game Dev video tutorials  ->   http://www.youtube.com/goranmilovano | +-------------------------------------

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.