What is the best method for projecting 3D graphics?

Click For Summary

Discussion Overview

The discussion revolves around methods for projecting 3D graphics onto a 2D screen, exploring the concepts of object rotation and camera positioning in 3D space. Participants examine the implications of different approaches to rendering 3D scenes, including the roles of model space, world space, and camera space.

Discussion Character

  • Exploratory
  • Technical explanation
  • Conceptual clarification

Main Points Raised

  • One participant suggests that the video buffer can be viewed as a 2D plane onto which 3D objects are projected, questioning whether to rotate the object or the surface for rendering.
  • Another participant mentions that both rotating the object and rotating the camera around the object require transforming vectors, emphasizing that the video buffer contains a flattened 2D image of the 3D scene.
  • There is a clarification that moving the entire scene is effectively done by moving the camera.
  • A participant outlines the typical transformation pipeline: Model Space -> World Space -> View (Camera) Space -> Projection Space -> Screen Space.
  • Questions arise about the definition of world space, including whether it is empty or can contain fixed elements like landscapes, and the necessity of having a separate camera space.
  • One participant explains that world space is a global coordinate system where objects are placed, using the solar system as an example to illustrate the concept of combining translation and rotation matrices.

Areas of Agreement / Disagreement

Participants express varying levels of understanding and agreement on the concepts discussed, with some clarifications made but no consensus reached on the best method for projecting 3D graphics or the necessity of separate spaces for the camera and world.

Contextual Notes

There are unresolved questions regarding the definitions of world space and camera space, as well as the implications of different transformation methods on rendering efficiency and complexity.

Jaynte
Messages
79
Reaction score
0
When it comes to graphics (what I have learned) is that what you see on the screen is data placed in a memory (video buffer) and then the data or pixel is then plotted onto the screen. So when you manipulate the data in the video buffer you will also manipulate the pixels on the screen.

Then it crosses my mind that when you want to plot 3D images on the screen, you can see the video buffer as a 2D plane which you can project 3D object onto.

I guess this is how it's done, but I wonder which of these two is the most common or the best way to implement this method when you want to turn and rotate an object in space?

1)
Having the 3D object fixed in space and rotate the surface which will become the video buffer.

2)
Having the surface (video buffer) fixed and rotate the object.


What I am guessing is if you use method 1) you don't need to transform as many vectors but then you cannot use more than one object which you can in method 2).
 
Technology news on Phys.org
I did an OpenGL course last semester, but I'm no pro.

When you require a rotation, you can either rotate the object OR rotate the "camera" around the object. Both methods only require you to transform the vectors for the "thing" you are rotating (be it a modeled sphere, or the "camera"). When I say camera, I mean the viewpoint of the user, but I think the analogy is natural.

The video buffer does indeed contain a 2d projection of the 3d scene, but you don't rotate it per se, it just contains the flattened 2d image of all of your rotations and transforms, lighting, etc as seen via the "camera".

Personally, I found it easier (conceptually) to rotate things in my scene, controlling the camera was quite a bit harder, although sometimes you need to do both.
 
Last edited:
Ok thanx. Yes that sounds reasoneble. If you want to move the whole sceene you should move the camera.
 
It's usually broken up like this:
Model Space -> World Space -> View (Camera) Space -> Projection Space -> Screen Space
 
What does world space means? Is it just an empy space or could is also contain fixed stuff such as llandscape etc? And why does the camera need its own space? Couldnt it be chared with world space?
 
Jaynte said:
What does world space means? Is it just an empy space or could is also contain fixed stuff such as llandscape etc? And why does the camera need its own space? Couldnt it be chared with world space?

World space is when all the objects go from their own local space to the global coordinate system.

Say if you were doing a model of the solar system. The world space is a coordinate system with the sun at the origin. Each planet is centered at some point and has its own rotation properties.

Let's assume that the orbits around the sun are circular (and not elliptic like they really are). You combine translation and rotation matrices in a composition with the world matrix to get all of the coordinates in terms of the world matrix.

Basically the whole process is just a composition of matrices. The order depends on what you are trying to calculate, but like the above poster said you start by calculating local transformations and then compose these results with higher level transformations (world, camera, and so on).
 
Thanx, now i get it.
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 5 ·
Replies
5
Views
6K
  • · Replies 19 ·
Replies
19
Views
2K
Replies
48
Views
5K
  • · Replies 4 ·
Replies
4
Views
3K
Replies
3
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
1K
  • · Replies 4 ·
Replies
4
Views
2K