the camera course information cvg: programming 4 my name: mark walsh website: recommended reading

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: rosemary-oneal

Post on 14-Jan-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: The Camera Course Information CVG: Programming 4 My Name: Mark Walsh Website:  Recommended Reading

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 Course Information CVG: Programming 4 My Name: Mark Walsh Website:  Recommended Reading

Re-Cap

• Local Space

• World Space

• View Space

Page 3: The Camera Course Information CVG: Programming 4 My Name: Mark Walsh Website:  Recommended Reading

Local Space

Page 4: The Camera Course Information CVG: Programming 4 My Name: Mark Walsh Website:  Recommended Reading

World Space

Page 5: The Camera Course Information CVG: Programming 4 My Name: Mark Walsh Website:  Recommended Reading

View Space

Page 6: The Camera Course Information CVG: Programming 4 My Name: Mark Walsh Website:  Recommended Reading

• 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 Course Information CVG: Programming 4 My Name: Mark Walsh Website:  Recommended Reading

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 Course Information CVG: Programming 4 My Name: Mark Walsh Website:  Recommended Reading

• Camera Picture:

Page 9: The Camera Course Information CVG: Programming 4 My Name: Mark Walsh Website:  Recommended Reading

• 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 Course Information CVG: Programming 4 My Name: Mark Walsh Website:  Recommended Reading

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 Course Information CVG: Programming 4 My Name: Mark Walsh Website:  Recommended Reading

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 Course Information CVG: Programming 4 My Name: Mark Walsh Website:  Recommended Reading

Rotation About Arbitrary Axis

• Pitch

• Yaw

• Roll

Page 13: The Camera Course Information CVG: Programming 4 My Name: Mark Walsh Website:  Recommended Reading

Rotation

• D3DXMatrixRotationAxis

• Angle in Radians to Rotate

• Rotate around arbitrarily defined vector

Page 14: The Camera Course Information CVG: Programming 4 My Name: Mark Walsh Website:  Recommended Reading
Page 15: The Camera Course Information CVG: Programming 4 My Name: Mark Walsh Website:  Recommended Reading

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 Course Information CVG: Programming 4 My Name: Mark Walsh Website:  Recommended Reading

• 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 Course Information CVG: Programming 4 My Name: Mark Walsh Website:  Recommended Reading

The End