Skip to Main Content
Programming WPF, 2nd Edition
book

Programming WPF, 2nd Edition

by Chris Sells, Ian Griffiths
August 2007
Intermediate to advanced content levelIntermediate to advanced
864 pages
25h 52m
English
O'Reilly Media, Inc.
Content preview from Programming WPF, 2nd Edition

Cameras

You must set the Viewport3D's Camera property to one of the three available camera types: PerspectiveCamera, OrthographicCamera, or MatrixCamera. The type of camera determines how the 3D model will be turned into a 2D image on-screen.

The PerspectiveCamera is often the most natural choice. With this camera, the farther away objects are, the smaller they appear. Because that's how things look in real life, this produces a reasonably natural-looking image.

The OrthographicCamera uses a more simplistic approach. A 3D object of a particular size will always be rendered at exactly the same size, regardless of how far away it is. This tends to produce rather unnatural-looking images, but it can occasionally be useful—sometimes consistency is more important than a natural appearance. If you are rendering 3D models representing the design of something physical, such as a planned piece of woodwork or the layout of a room, you might want objects of the same size in the model to appear the same size on-screen. Likewise, if you are producing a 3D graph, consistency of size might be more important than realism. An OrthographicCamera can guarantee this, whereas a PerspectiveCamera can, by design, show equal-size objects as different sizes on-screen. Figure 17-1 shows an example—on the left is a series of identical columns rendered with a PerspectiveCamera, and on the right is the same model as shown by an OrthographicCamera.

Figure 17-1. PerspectiveCamera and OrthographicCamera

If you are ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Programming C#, 4th Edition

Programming C#, 4th Edition

Jesse Liberty
Programming C# 10

Programming C# 10

Ian Griffiths

Publisher Resources

ISBN: 9780596510374Supplemental ContentErrata Page