#[repr(C)]
pub struct Vertex { pub position: Vector2f, pub color: Color, pub tex_coords: Vector2f, }
Expand description

Define a point with color and texture coordinates.

A vertex is an improved point.

It has a position and other extra attributes that will be used for drawing: in SFML, vertices also have a color and a pair of texture coordinates.

The vertex is the building block of drawing. Everything which is visible on screen is made of vertices. They are grouped as 2D primitives (triangles, quads, …), and these primitives are grouped to create even more complex 2D entities such as sprites, texts, etc.

If you use the graphical entities of SFML (sprite, text, shape) you won’t have to deal with vertices directly. But if you want to define your own 2D entities, such as tiled maps or particle systems, using vertices will allow you to get maximum performances.

Example:

// define a 100x100 square, red, with a 10x10 texture mapped on it
let vertices = [
    Vertex::new(Vector2f::new(  0.,   0.), Color::RED, Vector2f::new( 0.,  0.)),
    Vertex::new(Vector2f::new(  0., 100.), Color::RED, Vector2f::new( 0., 10.)),
    Vertex::new(Vector2f::new(100., 100.), Color::RED, Vector2f::new(10., 10.)),
    Vertex::new(Vector2f::new(100.,   0.), Color::RED, Vector2f::new(10.,  0.)),
];
// draw it
window.draw_primitives(&vertices, PrimitiveType::QUADS, &RenderStates::DEFAULT);

Note: although texture coordinates are supposed to be an integer amount of pixels, their type is float because of some buggy graphics drivers that are not able to process integer coordinates correctly.

Fields

position: Vector2f

2D position of the vertex

color: Color

Color of the vertex.

tex_coords: Vector2f

Coordinates of the texture’s pixel to map to the vertex.

Implementations

Create a new Vertex

Arguments
  • position - Position of the vertex
  • color - Color of the vertex
  • tex_coords - Texture coordinate of the vertex

Return a Vertex

Create a new Vertex with a position

Arguments
  • position - Position of the vertex
Default
  • color - white
  • tex_coords - (0., 0.)

Return a Vertex

Create a new Vertex with the position and the color

Arguments
  • position - Position of the vertex
  • color - Color of the vertex
Default
  • tex_coords - (0., 0)

Return a Vertex

Create a new Vertex with the position and the texture coordinates

Arguments
  • position - Position of the vertex
  • tex_coords - Texture coordinate of the vertex
Default
  • color - white

Return a Vertex

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more

Create a new default Vertex

Default

  • position - (0., 0.)
  • color - white
  • tex_coords - (0., 0.)

Return a Vertex

Returns the “default value” for a type. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.