Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6005397
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T01:23:28+00:00 2026-05-23T01:23:28+00:00

Since the vertex data will be transformed through a projection matrix to get the

  • 0

Since the vertex data will be transformed through a projection matrix to get the clip coordinates. I wonder if the two units are the same?
For example, if I have a point P(20, 20, 20), and my clipping volume is defined as following:

gluPerspective( 45.0,                      //The camera angle
                ( double )w / ( double )h, //The width-to-height ratio
                2.0,                       //The near z clipping coordinate
                2000.0 );                  //The far z clipping coordinate

If I consider 20 as inches, then do 2.0 and 2000.0 must be in inches as well? Are they related to each other, or are they totally independent?

Thank you,

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T01:23:28+00:00Added an answer on May 23, 2026 at 1:23 am

    You may find the OpenGL Technical FAQ “Transformations” section useful here.

    You’ve chosen inches as your base “World Coordinate” unit. You’ll note that the FAQ defines “Object Coordinates”, “Eye Coordinates”, and “Clip Coordinates”.

    Transformations sit between these — the ModelView matrix transforms from Object to Eye, the Projection matrix from Eye to Clip, etc.

    It’s useful to think of this as a number of black boxes (the projection matrices) taking in various coordinate systems, moving/scaling/shearing them a bit, and spitting out a new one.

    Now, you can conceptually break the ModelView matrix black box apart into two: “Model” and “View” matrices. The songho.ca OpenGL Tutorials have a transformation page that shows this.

    So you can look at:

    Object coords -> (ModelView matrix) -> Eye coords -> ...
    

    …as equivalent to:

    Object coords -> (Model matrix) -> World coords -> (View matrix) -> Eye coords -> ...
    

    This gives you “World coords” between those two boxes.

    Note that your “Object coords” and “World coords” may often have the same units, but different origins.

    They might also have slightly different units. For example, it may be convenient for you to define a standard-height character object and just modify your coordinate scaling in the associated Model matrix to make a taller or bulkier character object. 1 unit of object height might scale into 1.2 units of world height.

    (Note you can subdivide this even more, having a “Arm matrix” to translate from “Arm space” into “Torso space”, and a “Torso matrix” to go from there to “Object space”, etc.)

    It’s fairly typical to only have cameras positioned and targeted — i.e. translated and rotated. If this is the case, “World space” and “Eye space” also will share units.


    By that roundabout process, we’re now seeing that our “World space” and our “Eye space”, and also likely many of our “Object spaces”, are in the unit you’ve chosen: inches.

    gluPerspective always specifies near and far planes in terms of “distance from viewer” (aka distance from eye) — see its manual page.

    It’s implied that the distance is in Eye coordinate space; we know the matrix they’re showing transforms from Eye space to Clip space, and based on how the matrix is constructed it is clear that zNear and zFar etc will be in Eye space units.


    The relationship between zNear and zFar is important for perspective division. This results in, among other things, more depth precision at the front of the view volume.

    They also, of course, define the nearest and furthest things you’ll render.

    If you look at the aforementioned manual page for how the projection matrix is constructed, and you know a bit about the behavior of IEEE-754 floating point numbers, you can extrapolate some interesting behavior if you set your zNear too near, or your zFar either too far or at too high a multiple of zNear, etc.

    (By the by, I’d highly recommend the Essential Math for Games and Interactive Applications book here. Also, if you want your mind blown a bit, there’s a fun little GDC2007 presentation entitled “Projection Matrix Tricks” (pdf).)

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Since I'm used to developing in Java, I'm familiar with what files get generated
Since the display resolution is different, I wonder if there is an official guide
Since we can access the private data member of base class in the derived
Since ADO.Net uses a 'disconnected' model where the data available to a single program
Since I started studying object-oriented programming, I frequently read articles/blogs saying functions are better,
Since CS3 doesn't have a web service component, as previous versions had, is there
Since both a Table Scan and a Clustered Index Scan essentially scan all records
Since Graduating from a very small school in 2006 with a badly shaped &
Since the WMI class Win32_OperatingSystem only includes OSArchitecture in Windows Vista, I quickly wrote
Since debate without meaningful terms is meaningless , I figured I would point at

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.