View Blog (restored)
Posted: Thu Jul 25, 2024 8:16 pm
In this thread I would like to expand more informally concepts related to interactive view manipulation and its programming. See also Concepts of 3D Graphics
The best way to understand it is probably to open any sample (View Point or Zoom are good to see the programmatic manipulation) and play with the
Birds Eye view a little why reading.
The core concept of View Volume is simple. You need to define which part of the world is displayed on the screen. It is determined by the View Volume which is simply an arbitrary oriented 3D box.
Whatever is inside the box is projected to the front side of the box, converted to pixels and this is what you get in the DGK window.
The view manipulations, either interactively with mouse or in code, are simply manipulations of position, orientation and size of the box. Zoom in, for example, is reduction of size of the view volume without changing anything else.
For case of perspective projection, the difference is minor in my view: Instead of a box you get a frustum, which is a slightly distorted box, but later about that.
More to follow...
The best way to understand it is probably to open any sample (View Point or Zoom are good to see the programmatic manipulation) and play with the
Birds Eye view a little why reading.
The core concept of View Volume is simple. You need to define which part of the world is displayed on the screen. It is determined by the View Volume which is simply an arbitrary oriented 3D box.
Whatever is inside the box is projected to the front side of the box, converted to pixels and this is what you get in the DGK window.
The view manipulations, either interactively with mouse or in code, are simply manipulations of position, orientation and size of the box. Zoom in, for example, is reduction of size of the view volume without changing anything else.
For case of perspective projection, the difference is minor in my view: Instead of a box you get a frustum, which is a slightly distorted box, but later about that.
More to follow...