简体   繁体   中英

3D graphics pipeline

That's what I understand about graphic pipeline (Opengl) so far, can someone confirm that?

  • Object space: Object (geometry) specific coords;

  • World space: rotate, translate and scale the object to world space;

  • Eye space: Frustum that limits the world view, with a projection matrix that projects 3d coord in a 2d plane (near plane?), scaling it when necessary and clipping it when its out of frustum/eye space

I've read that eye space reverses the Z axis, so, an original +z vertex turns backward from eye, why?

Nope. There are

  • Local Space

→ Modelview Transform →

  • Eye Space

→ Projection Transform →

  • Clip Space

→ Homogenous Coordinate w-normalization →

  • Normalized Coordinate Space

The modelview and projection transform are usually expressed by a matrix multiplication. There are no special requirements on the matrices used, but you normally want them to be non-singular. But between that anything goes. The usually found transformations are rotation-scalings + translation and shear-scalings + translation.

I've read that eye space reverses the Z axis, so, an original +z vertex turns backward from eye, why?

No, not really. I think you may maean negative z and w elements in the projection matrix. But that's only to get the depth ordering right. You could flip the sign of them just fine and reverse that effect by making certain adjustments to the depth range and depth test function. The negative sign there is just conventional to obtain a right-handed coordinate system with default settings, ie positive Z eye space coordinates come out of the screen.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM