A viewport is a polygon viewing region in computer graphics.
In computer graphics theory, there are two region-like notions of relevance when rendering some objects to an image. In textbook terminology, the world coordinate window is the area of interest (meaning what the user wants to visualize) in some application-specific coordinates, e.g. miles, centimeters etc.
The word window as used here should not be confused with the GUI window, i.e. the notion used in window managers. Rather it is an analogy with how a window limits what one can see outside a room.
In contrast, the viewport is an area (typically rectangular) expressed in rendering-device-specific coordinates, e.g. pixels for screen coordinates, in which the objects of interest are going to be rendered. Clipping to the world-coordinates window is usually applied to the objects before they are passed through the window-to-viewport transformation. For a 2D object, the latter transformation is simply a combination of translation and scaling, the latter not necessarily uniform. An analogy of this transformation process based on traditional photography notions is to equate the world-clipping window with the camera settings and the variously sized prints that can be obtained from the resulting film image as possible viewports.
Because the physical-device-based coordinates may not be portable from one device to another, a software abstraction layer known as normalized device coordinates is typically introduced for expressing viewports; it appears for example in the Graphical Kernel System (GKS) and later systems inspired from it.
In 3D computer graphics it refers to the 2D rectangle used to project the 3D scene to the position of a virtual camera. A viewport is a region of the screen used to display a portion of the total image to be shown.
In virtual desktops, the viewport is the visible portion of a 2D area which is larger than the visualization device. In web browsers, the viewport is the visible portion of the entire document. If the document is larger than the viewport, the user can shift the viewport around by scrolling.
- James D. Foley, Andries van Dam, Steven K. Feiner, John F. Hughes (1996). Computer Graphics: Principles and Practice (2nd ed.). Addison-Wesley Professional. pp. 210–212. ISBN 978-0-201-84840-3.
- Jeffrey J. McConnell (2006). Computer Graphics: Theory Into Practice. Jones & Bartlett Learning. pp. 12–13. ISBN 978-0-7637-2250-0.
- John Black (1992). The System Engineers Handbook. Elsevier. pp. 190–193. ISBN 978-0-08-051902-9.
- http://msdn.microsoft.com/en-us/library/ff634571.aspx Microsoft - What Is a Viewport?
- W3C (2011-07-07). "Visual formatting model - 9.1.1 The Viewport". Retrieved 2012-02-14.