We know real world images are 3D.when we projects image from real world this image projects into 2D image where Z component is constant or zero. But when capture the below image which seems to 3D(z seems to be not constant.)See this image which seems to be 3D:enter image description here

My question is how is it 2D image? I am confusing it may be 3D image.

  • \$\begingroup\$ This doesn't appear to be related to game development, but to the extent it is, you seem to have tagged this with 3D projection and perspective — look those up? \$\endgroup\$ Dec 3, 2021 at 16:48
  • \$\begingroup\$ It's not really clear what you're after; the image you joined appears as a picture of a scene taken with a camera (through the objective (which causes distortion), the scene was captured from a 3d environment to a 2d representation). Then, over this image, three (apparently) straight lines and three characters have been drawn with the help of a computer program. The only thing "3d" here appears to be the original scene used to produce the 2d image. \$\endgroup\$
    – Vaillancourt
    Dec 3, 2021 at 17:04
  • \$\begingroup\$ @Vaillancourt but I got 3 axis of image, so it seems 3d image, but how is it 2d image, it's confusing me? \$\endgroup\$
    – S. M.
    Dec 3, 2021 at 17:11
  • \$\begingroup\$ Please find a definition of what is a "3d image" and share it with us so we can all talk the same language. To me, this looks like you draw 3 lines which now highlight that an object has a volume. The image is still 2d. \$\endgroup\$
    – Vaillancourt
    Dec 3, 2021 at 17:15
  • \$\begingroup\$ @Vaillancourt it's my confusion, how is it 2D? \$\endgroup\$
    – S. M.
    Dec 3, 2021 at 17:17

2 Answers 2


The image posted is 2D in the sense that you cannot 'look behind' anything in the image based solely on the information presented.

Here's a 3d scene being projected onto a 2d plane (source: Wikipedia entry on 3d projection)

enter image description here

And in the next scene, I've added an additional cube: enter image description here

Despite this addition, the 2D projection of the scene remains unchanged. Looking at the 2D projection, we can infer some 3D information about the scene (such as the relative depth, width & height of the blue cube), but we don't have enough information to determine everything in the 3D scene from which the 2D projection was made.

  • \$\begingroup\$ @Ponting I don't have an answer to that question. \$\endgroup\$
    – Pikalek
    Dec 10, 2021 at 21:36
  • \$\begingroup\$ I want PhD suggestions from you, could you help me, how can I contact with you? \$\endgroup\$
    – S. M.
    Dec 10, 2021 at 22:03
  • \$\begingroup\$ @Ponting I'm sometimes in the Game Dev SE Chat. \$\endgroup\$
    – Pikalek
    Dec 10, 2021 at 22:46

I believe the confusion might come from the term "3D computer graphics", because what is 3D about 3D computer graphics is not the pictures it produces, but their representation in the computer.

To be clear, there could be 3D pictures, but then we are talking about specialized output hardware. Except, of course, that "3D" is also a buzzword. We have had many attempts at "3D" to the point that "3D glasses" went from being made of cardboard and having one red and one blue "lenses", to use fast blinking, to use polarized filters, and don't be surprised if people start calling "3D glasses" to some incarnation of VR/AR headset. And then we have all the things that got the moniker of "hologram". Don't get me started on the metaverse.

But 3D computer graphics imply none of that. Instead, it implies that there is a 3D representation in a computer from which we can create different pictures from different view points. We even talk about virtual cameras that we configure to do that. We often take it from granted when developing 3D games.

When you take a picture with a real (not virtual) regular camera, you do get one particular view of a real 3D world. But you only got that view. You are not getting a 3D representation that you can use to create different pictures from different view points.

You could use a more advance camera to get depth information. And these would give you point cloud data. Which can be considered 3D. However, if you did one such capture and try to create pictures form different view points, you will find that orbiting around with a virtual camera reveals nothing. But, with enough captures with the same technique you can create a full 3D representation of an object or a place. To learn more on the topic, see Photogrammetry and 3D scanning. You may also be interested in 3D imaging such as used in medial applications. Those are 3D.

Bringing this to game-development, such tools are useful to create realistic assets (both objects and scenarios) to use in video games. For AR games, scanning the area surrounding the player will help to integrate the virtual elements. And VR games might want to scan the area surrounding the player so they have an idea of how much space they have to work with, and give some indication to the user that they might be about to bump into something.

You can, of course, use a 2D picture to represent something 3D. We do it all the time. And we doing by using projections. In particular, you can define axis in a 2D picture, like you did. And doing so, you defined a one way transformation from 3D to 2D (edit: actually I think you need to know the length in 3D of those lines). But that does not make picture 3D (it is still flat, be it on a flat screen, on a piece of paper, or similar), it is not enough to make the transformation back from 2D to 3D.

However, it is not an entirely wrong idea. We - humans - can look at a 2D picture of a 3D space and have a sense of depth. This is by taking clues such as what is in or out of focus, what we expect to be parallel or orthogonal lines, and our experience with perspective and light. We are good at this, because we do it all the time. Our sense of depth perception comes chiefly from using two 2D pictures (one from each eye). However, I shall remind you we can fall victims of optical illusions. Such as the famous Ames room.

And we will take advantage of this when developing video games, we trust that the player will understand intuitively that the pictures on the screen represent a 3D space. And, of course, there are some unique challenges that arise from the fact that the player is only looking at 2D pictures. For example, did you know that before Mario 64 had a shadow always below the character, players had a hard time with jump because they could not guess where the character was going to land? To be fair, I don't know if that is the motivation to add the shadow, or is it just that the light system in the game isn't great, but it is true that the shadow helped players with the jumps, and this is a learned lesson in usability.

Computers can also do the same to some extend. Both using multiple cameras to try to create a 3D representation in real time, or to infer a 3D space from a 2D picture (see computer vision). These are active fields of research, with a very tangible application in autonomous vehicles, and also in robotics/domotics in general.

And to end on a video game related note...

While autonomous vehicles do not have a direct application in video games. Video games have a direct application in training their software agents. More precisely, in creating 3D environments to test the software agents. And the more realistic and extensive we can make them, the better. That way, when the software agent that will drive the autonomous vehicle is given control of the real car, we have good confidence that it works correctly.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .