Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

In Opengl,are Near plane and Image plane same things?

I'm an Android developer but a beginner of OpenGL. I'm confused by the view frustum. There are two questions:

  1. Are near plane and picture plane same things?
  2. If they are not same things, why there isn't a z-value of the picture plane to be specified?

I'm not proficient in English, hope you can understand my questions ..Any help will be appreciated!

like image 532
WZY Avatar asked Nov 06 '25 17:11

WZY


1 Answers

No, they're different concepts and an image plane isn't needed in OpenGL.

Near and far planes exist as a result of using a projection matrix to define the camera's projection. They're quite important when you get into the depth buffer and numerical accuracy. The image is the result of rendering, obviously. The image plane however only exists in real world cameras where light is projected through a pinhole or lens and onto the thing recording the image. In computer graphics it's not really necessary to model it unless you're doing crazy non-thin lens effects. I imagine it like this:

enter image description here

Again, the parts circled "imaginary" don't have any purpose in OpenGL and rasterization. They're necessary for a real camera, but artificially computing an image can take some shortcuts. Firstly, the projection matrix is used to project geometry into image space, keeping depth values. Image space is pretty separate to the concept of the image plane. We don't tend to think of the position and size of the sensor or film in a camera when looking at a photo. The geometry's then rasterized, producing fragments (packets of data for pixels). The depth buffer is used to keep only the front-most, visible, fragments. This is just based on depth comparisons. In one sense a pixel isn't a surface on an explicit image plane, but represents a cut out portion of the viewing volume.

The wiki page for homogeneous coordinates discusses the mapping of points onto the plane z = 1, though arguing this is the depth of the image plane doesn't seem to serve any purpose.

There's a bunch of literature about camera models out there, but I don't know which I should point out. If others do, please comment/edit! Perhaps start with the red book? http://www.glprogramming.com/red/chapter03.html

like image 85
jozxyqk Avatar answered Nov 09 '25 08:11

jozxyqk



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!