1 / 54

Video Game Rendering Mathematics

Video Game Rendering Mathematics. Zack Booth Simpson. How to we model a body?. Break each object up into lots of triangles. Each “face” is connected to a mesh of “vertices” Make each part of a “body” rigid Connect the rigid parts together with joints Let the joints rotate.

rperkinson
Download Presentation

Video Game Rendering Mathematics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Video Game Rendering Mathematics Zack Booth Simpson

  2. How to we model a body? • Break each object up into lots of triangles. Each “face” is connected to a mesh of “vertices” • Make each part of a “body” rigid • Connect the rigid parts together with joints • Let the joints rotate From unrealtechnology.com

  3. Rendering Meshes • Each vertex is positioned byan artist. The programmers getthis vertex list and tell thecomputer to connect the dots. • But the vertices are in 3D?! • How do we get from a 3D model to a 2D view on the screen? • Create a virtual camera

  4. Pretend Cameras • What does the camera see of this box? • Two problems to solve: • Relative position and orientation of the box versus the camera • The perspective distortion

  5. Perspective:Things further away appear smaller Create a pretend “projection plane” that represents the computer screen

  6. Exercise: The Perspectometer

  7. Answers: The Perspectometer • The length of the line on the board is 3 feet. • The units are feet, because the distance from your eye to the board was measured in feet. • Note that the length of your arm and the apparent height of the line were both measured in inches.

  8. Position and Orientation • Meet “vector” • From Latin “vehere” = “to carry” same root as “vehicle” • Each object in the world is placed and oriented. • Vectors let us get from place to place and orient ourselves. Where are the vertices of the box from the point of view of the camera? (Never mind perspective for now)

  9. Translate = Move without rotate • Relative position is easy • Vector addition and subtraction! • a + b - c = d • d is relative to the camera… we say“d is the position of the vertex in camera space”

  10. Rotation • Now things get harder • From the camera’s point of view the box is rotated • From the box’s point of view the camera is rotated • Coping with differing points of view is always a challenge!

  11. Who’s point of view is right?

  12. Both / Neither side is right • We need a way to measure each vector using the other one as the unit ruler. • In other words: we need tools to convert from one point of view to the other.

  13. Projection • a/b from b’s perspective; b/a from a’s perspective • Remember always:“a/b” means “measure a against b” or“using b as the ruler, how long is a?” • It is easy to forget/get confused about this… I wish a teacher had beaten this into my head with a stick!

  14. Oh boy, here we go again…

  15. Projection from different directions • Each side can be projected onto the other.

  16. As a is rotated away from b, the projection diminishes until at 90 degrees it is zero • Perpendicular vectors can not measure each other; they have zero relative projections!

  17. Projection with Cosine • We don’t want no stinking cosines – they’re a pain! • Here’s a great trick…

  18. Ever seen this lovely proof of the Pythagorean theorem?

  19. Rectangular Version of the Pythagorean Theorem Dot product graphic removed pending publication • Cool! We can compute the projection with just two multiplies and add! Games have millions of vertices so this is very important! Considering speed is the difference between mathematics and computation!

  20. Projection with the dot productfrom b’s point of view • TADA! p can be computed without angles or cosines!

  21. More Dot Product Goodness • Dot product sign tells you about the relationship of the vectors. • Same general direction • Orthogonal • Opposite directions

  22. Exercise: Dot Products

  23. Answers: Dot Products

  24. Back to Rotations • Ok, so now we can project a vector onto another • What’s this got to do with rotations again? • Represent the camera’s POV as aligned vectors. Call these “basis vectors” as in “base” • The projection onto thesevectors gives us the rotationwe want! i.e. the boxfrom the POV of camera

  25. Basis Vector Demo • Run demo app • Skew, rotation, scale, reflection, projection • Orthogonal basis vectors create a rotation or reflection

  26. The Matrix • A cool way to organize basis vectors: The Matrix • The default basis vectors are one unit in each direction. • Write each basis vector as a column in the matrix • Write a block of numbers but visualize vectors! • The matrix encodes any “linear” transformation

  27. The Power of The Matrix

  28. The Matrix as a Teleporter • The matrix is a “teleportation machine” which moves points from one space to another

  29. A Teleporter inside a Teleporter?! • What happens if you put a teleporter inside a teleporter? • Compounding teleportations!

  30. Matrix Concatenation • Map the basis vectors of one space into the another

  31. Matrix ConcatenationUsing Dot product

  32. Matrix ConcatenationUsing Dot product

  33. Matrix ConcatenationUsing Dot product

  34. Matrix ConcatenationUsing Dot product

  35. Exercise: Matrix Arithmetic

  36. Answers: Matrix Arithmetic

  37. Rotate, Scale, and Translate? • So now we can rotate, scale, etc. but what ever happened to translations? • The ugly way • Would be nice to matrixify™ it!

  38. Stuffin’ the Matrix • Make up a pretend dimension for the translation • Hardwire “1” unit of this extra dimension in all vertices to be transformed. • Where is this extra dimension exactly? • Who cares! It works! Math is so cool

  39. Moving to 3D • Just add a dimension again. • Now matrices are 4x4 • Right-hand rule From math.montana.edu

  40. Exercise: Matrix Transforms

  41. Answers: Matrix Transformations

  42. Game: Matrix Mine Sweeper • There’s a bomb in a house • There’s two rounds • You must move the bomb with one of the three given matrices in each round • You can not go off the map • Plan ahead!!

  43. Game: Matrix Mine Sweeper • There’s a bomb in a house • There’s two rounds • You must move the bomb with one of the three given matrices in each round • You can not go off the map • Plan ahead!! GO!

  44. Answers: Matrix Mine SweeperRound 1

  45. Game: Matrix Mine Sweeper Round 2. GO!!

  46. Answers: Matrix Mine SweeperRound 2

More Related