the camera

17
The Camera Course Information • CVG: Programming 4 • My Name: Mark Walsh Website: www.activehelix.co.uk /courses Recommended Reading • Introduction to 3D Game Programming with DirectX 9.0 (Frank D. Luna)

Upload: kale

Post on 08-Jan-2016

24 views

Category:

Documents


0 download

DESCRIPTION

The Camera. Course Information CVG: Programming 4 My Name: Mark Walsh Website: www.activehelix.co.uk/courses Recommended Reading Introduction to 3D Game Programming with DirectX 9.0 (Frank D. Luna). Re-Cap. Local Space World Space View Space. Local Space. World Space. View Space. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: The Camera

The Camera

Course Information

• CVG: Programming 4

• My Name: Mark Walsh

• Website: www.activehelix.co.uk/courses

 

Recommended Reading

• Introduction to 3D Game Programming with DirectX 9.0 (Frank D. Luna)

Page 2: The Camera

Re-Cap

• Local Space

• World Space

• View Space

Page 3: The Camera

Local Space

Page 4: The Camera

World Space

Page 5: The Camera

View Space

Page 6: The Camera

• Flexible Camera Class

• Objective is to build a flexible FP based games camera: Flight Simulators and Shooters

• The first stage is camera design

Page 7: The Camera

Camera Design

• The camera position is defined relative to the world coordinate system using 4 vectors

• Right, Up, Look, Position

• They define a local coordinate system relative to the world coordinate system

Page 8: The Camera

• Camera Picture:

Page 9: The Camera

• Vectors: Right, Up and Look define the cameras orientation in the world

• They are therefore the orientation vectors

• The orientation vectors must be orthonormal– Mutually perpendicular to each other

– Of Unit Length

• A row matrix where the rows are made up of orthonormal vectors is orthagonal

Page 10: The Camera

Camera Operations

• Using the 4 vectors we wish to be able to:

• Rotate around the right vector or X axis (Pitch)• Rotate around the up vector or Y axis (Yaw)• Rotate around the look vector Z axis (Roll)• Strafe along the right vector• Fly along the up vector• Move along the look vector

Page 11: The Camera

Implementation

• We calculate the view matrix using the camera vectors

• Remember that view space transforms the geometry in the world…

• …so that the camera is centred at the origin and the axes are aligned with the major coordinate axes

Page 12: The Camera

Rotation About Arbitrary Axis

• Pitch

• Yaw

• Roll

Page 13: The Camera

Rotation

• D3DXMatrixRotationAxis

• Angle in Radians to Rotate

• Rotate around arbitrarily defined vector

Page 14: The Camera
Page 15: The Camera

Walking, Strafing, Flying

• Walking = Moving along the Look vector

• Strafing = Moving along the Right vector

• Flying = Moving along the Up Vector

Page 16: The Camera

• To move we add a vector to our position vector

• The should have the same direction

• Need to set restrictions– Walking, flying distinctions

Page 17: The Camera

The End