Jump to content
  • Advertisement
Sign in to follow this  
HopHopTraLaLaGdaltiBshAna

if Z plane exist , why should i make a Prespective Projection

This topic is 1336 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Advertisement

I don't really understand the question, but you do a projection from the 3D scene into a 2D plane. There are different types of projections that give a different result, and each has some pros and cons.

 

Perspective projection creates an image similar to what the eye does (an object looks bigger when it's closer to the camera, so you still can tell when somethings is closer).

 

Orthographic projection does not have that effect, so you can't really "see" whats closer than what unless they overlap at some point.

 

Isometric projection is similar to the orthographic but you can have a clearer idea of what's closer.

 

Other types of projections might not be usefull for games, but are good for other things... for example, technical drawings like pieces of a machine where it's better to have a less realistic result but easily measurable.

Edited by DiegoSLTS

Share this post


Link to post
Share on other sites

Perspective Projection is used to give the effect of things further away becoming smaller.

Although the z coordinate may indicate the depth in the screen, it will not transform these points to give you a realistic perspective of the scene.

 

 

For further information have a look at this chapter :

 

http://www.arcsynthesis.org/gltut/Positioning/Tut04%20Perspective%20Projection.html and or just read the whole thing smile.png It explains modern opengl very well.

Edited by McGrane

Share this post


Link to post
Share on other sites

I don't really understand the question, but you do a projection from the 3D scene into a 2D plane. There are different types of projections that give a different result, and each has some pros and cons.

 

Perspective projection creates an image similar to what the eye does (an object looks bigger when it's closer to the camera, so you still can tell when somethings is closer).

 

Orthographic projection does not have that effect, so you can't really "see" whats closer than what unless they overlap at some point.

 

Isometric projection is similar to the orthographic but you can have a clearer idea of what's closer.

 

Other types of projections might not be usefull for games, but are good for other things... for example, technical drawings like pieces of a machine where it's better to have a less realistic result but easily measurable.

 

Perspective Projection is used to give the effect of things further away becoming smaller.

Although the z coordinate may indicate the depth in the screen, it will not transform these points to give you a realistic perspective of the scene.

 

 

For further information have a look at this chapter :

 

http://www.arcsynthesis.org/gltut/Positioning/Tut04%20Perspective%20Projection.html and or just read the whole thing smile.png It explains modern opengl very well.

 

I wanted to ask , there is a depth axis(Z) in OpenGL, So why should i to resize Objects in 3D world

Share this post


Link to post
Share on other sites

I wanted to ask , there is a depth axis(Z) in OpenGL, So why should i to resize Objects in 3D world

 

The Z axis, doesn't have any meaning in itself. The Perspective projection is one way of giving it meaning, and is an integral part of any 3D graphics, regardless of if you use OpenGL, DirectX or any other 3D library.

You could say the projection is what turns the z axis into (a measurement of) "depth"...

Edited by Olof Hedman

Share this post


Link to post
Share on other sites

Just because there is a Z “axis” or Z plane, that doesn’t mean objects get smaller as they go into the distance.

 

You are asking a false question.

Use an orthographic projection matrix to have things stay the same size as they go into the distance (2D effect).

Use a perspective projection matrix to have things shrink as they go into the distance (3D effect).

End.

 

There is no direct relationship to clipping planes.

 

 

L. Spiro

Share this post


Link to post
Share on other sites

 

I don't really understand the question, but you do a projection from the 3D scene into a 2D plane. There are different types of projections that give a different result, and each has some pros and cons.

 

Perspective projection creates an image similar to what the eye does (an object looks bigger when it's closer to the camera, so you still can tell when somethings is closer).

 

Orthographic projection does not have that effect, so you can't really "see" whats closer than what unless they overlap at some point.

 

Isometric projection is similar to the orthographic but you can have a clearer idea of what's closer.

 

Other types of projections might not be usefull for games, but are good for other things... for example, technical drawings like pieces of a machine where it's better to have a less realistic result but easily measurable.

 

Perspective Projection is used to give the effect of things further away becoming smaller.

Although the z coordinate may indicate the depth in the screen, it will not transform these points to give you a realistic perspective of the scene.

 

 

For further information have a look at this chapter :

 

http://www.arcsynthesis.org/gltut/Positioning/Tut04%20Perspective%20Projection.html and or just read the whole thing smile.png It explains modern opengl very well.

 

I wanted to ask , there is a depth axis(Z) in OpenGL, So why should i to resize Objects in 3D world

 

I'm not sure if you're rewording your original question, but this sounds like a completelly different one (and I'm still not sure I understood it).

 

I will talk about OpenGL because it's the one I know, but I guess you can say something similar with Direct3D or other technologies.

 

When you work with OpenGL you're working in a 3D world in memory, you can't see the 3D world just by constructing a scene. That 3D world in memory must be projected into a 2D plane, which is then drawn in your monitor by some other libraries (like freeglut). The world has 3 axis, but you can't display "the world", you need a projection of the world, and that projection, as I said in my previous post, can be done in different ways, depending on what you want to do with the result. That plane also "lives" in the 3D world, if you use a tool like Unity you can see where the game camera will be positioned (Unity uses it's own camera to display a projection of the world without altering the game camera) and where would be the plane where everything is projected. Since that plane "lives" in the 3D world some things are closer than others, and the 3D axis is used to know what is in front of what to get something that makes sense.

 

I can't be clearer than that, if you still can't understand the difference between what you're modeling and what you are seeing I can only suggest looking for a good book or a good tutor (maybe a course on 3D programming?), or being more clear in your questions.

Edited by DiegoSLTS

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!