Applying Textures
OK, now that you have a rectangular shape, you're ready to apply a texture to your
rectangle. First, you'll have to tell the graphics device that you're going to be
using textures with your vertices. Currently, the type of object you're using to
represent your vertices is VertexPositionColor
,
which tells XNA that you want to use a position and a color for your vertices.
You'll need to change this to use a different object type called VertexPositionTexture
, which represents a vertex that
has both a position and a texture. Change the type for your vertex array variable at
the top of the class to this:
VertexPositionTexture[] verts;
Next, change the code in the LoadContent
method
that initializes the vertices. The constructor for a VertexPositionTexture
takes two parameters: a Vector3
representing the position of the vertex, and a
Vector2
representing a texture
coordinate.
What a minute! What's a "texture coordinate?" That's an excellent question. A texture coordinate is a way for XNA to map a coordinate on a texture to a vertex of a primitive. When texturing a primitive in this way, you identify points of a texture that correspond to vertices, and then XNA handles grabbing the specified portion of the texture and mapping it accordingly on the primitive.
A texture coordinate is represented by a two-dimensional (U, V) coordinate, where U is horizontal and V is vertical. The top-left corner of an image is represented by texture coordinate (0, 0), and the bottom-right corner ...
Get Learning XNA 3.0 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.