0
\$\begingroup\$

I'm studying now about projections with OpenGL and I've some questions:

Is there importance for the viewer's location? I know if I move forward/backward it won't mind, but what if I move upward with 30 degrees for e.g.

Does the viewer is located in the 0,0,0 axis? or he can be in another place after defining glOrtho's properties.

Are there only 6 projections? (I'm asking this because of the properties of the box, and defining the glOrtho - near, far, left, right, up, bottom)

Can I hide objects with ortho proj? I think it's obvious that yes, but I'm still curious maybe I'm wrong.

Do objects that are closer to me seem bigger, meaning that other objects may be hidden? I believe that not. the objects don't seem bigger. they stay the same size.

\$\endgroup\$
  • \$\begingroup\$ There are 5 separate questions, here. You should ask each question separately, assuming it is thought out, and on-topic. \$\endgroup\$ – Gnemlock Aug 21 '17 at 6:34
2
\$\begingroup\$

Is there importance for the viewer's location?

Yes the viewer's location is very important. Even on the z-axis it is, because if an object goes outside of the projection's viewing frustum, it cannot be rendered, as said in this answer. Movement on other axes behaves like they would in a perspective projection.

Does the viewer is located in the 0,0,0 axis?

As far as I know, the viewer is always initially located at the origin. However, you can always translate the view matrix away from that point.

Are there only 6 projections?

The arguments of glOrtho (near, far, left, right, up, and bottom) just define the positions of the faces of the viewing frustum, on their respective axes. This "viewing frustum" is a rectangular solid, like the image below (please ignore the colors of the axes):

sample viewing frustum

Can I hide objects with ortho proj?

Yes, if an object is outside of the viewing frustum, or if another object covers it, it will not be rendered (if that's what you mean by "hide").

Do objects that are closer to me seem bigger, meaning that other objects may be hidden?

The answer to the first part of your question is no, since the definition of an orthographic projection is that objects always stay the same size, no matter their distance from the viewer. However, to the second part of your question, the depth buffer still works as it would with a perspective projection. An object hides another object (well, technically a fragment) that lies behind it (as long as you clear the depth buffer bit).

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.