Are the DirectX coordinates spaced out in meters? I am just wondering, so I can add some realism to my game.


They are just Units

The units in DirectX (or OpenGL for that matter) does not correspond to any physical measure.

For consistency and your mental health, you can define them to be whatever unit you prefer. Certainly, meters is a good candidate for that.

Let us imagine that for whatever reason the coordinates were not meters, but - let us say - centimeters. Good, all you would have to do is scale everything. Ok, but, if everything is scale equally, how do you distinguish that from the original? Let me answer that for you: you cannot.

Addendum: With this example I attempt to say that an inherent physical scale is meaningless on a virtual world.

The apparience of big and small is in the camera

By the way, if you are thinking about properties of the virtual camera such as focal length and depth of field (which you could implement with shaders and can be used to give the impression that something is small or big). Well, those can scale too.

Addendum: I'm also saying these are all virtual camera effects, and have nothing to do with the actual units. It is the psychology of a very narrow depth of field that suggest that the camera lens must be huge in comparison to the objects it shows, and we tend to think the camera lens are about the same (order of maginitud of) size than our eyes.

Other physical properties

You may perhaps consider density or mass... these are not concerns of DirectX (or OpenGL for that matter). Once you start using a physics engine, it will be up to you to define a scale that makes sense.

Note: the closest to a physical measure they get is when they get to screen space, there and then they have some size that depend on the size of your screen. You may theorize of what the size of the things is from there if were only using identity matrices for all the transformations... but the result would be that the size of the world depends on the size of the screen of the user. That is not useful.

Importing models

If you are working on a team, it is a good idea to get everybody on agreement on the scale to use.

Yet, if you are using third party models, you may find them to be too big or too small for the world you are building. The reason is that the author of the model may have intended for the units in the model to be something different to what you are using. In that case, you will have to scale the model to fit your world.


Is the DirectX coordinates spaced out in meters?

If you want it to be.


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.