CHAPTER 5 ■ GETTING THE MOST OUT OF VERTICES
486
Each vertex needs to store a Vector3 for the Position, a Vector2 for the texture coordi-
nates, and two more Vector3s for the normal and the tangent. This gives a total of 11 floats to
be stored and transferred to the graphics card for each vertex. The binormals will be calculated
in the vertex shader.
Defining the Normal and Tangent of Each Vertex
In this example, you will define some triangles to create a tower (a cylindric wall). The normal
data will be generated using the code explained in recipe 5-7.
As explained earlier, the tangent direction needs to be perpendicular to the normal and
should touch the tower, not intersect. In this case you’re defining a vertical tower, so you know
the Up ...