[−][src]Struct sfml::graphics::Vertex
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.
Methods
impl Vertex
[src]
pub fn new<P: Into<Vector2f>>(
position: P,
color: Color,
tex_coords: Vector2f
) -> Self
[src]
position: P,
color: Color,
tex_coords: Vector2f
) -> Self
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
pub fn with_pos<P: Into<Vector2f>>(position: P) -> Self
[src]
Create a new Vertex whit a position
Arguments
- position - Position of the vertex
Default
- color - white
- tex_coords - (0., 0.)
Return a Vertex
pub fn with_pos_color<P: Into<Vector2f>>(position: P, color: Color) -> Vertex
[src]
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
pub fn with_pos_coords<P: Into<Vector2f>>(
position: P,
tex_coords: Vector2f
) -> Vertex
[src]
position: P,
tex_coords: Vector2f
) -> Vertex
Trait Implementations
impl Clone for Vertex
[src]
impl Copy for Vertex
[src]
impl Default for Vertex
[src]
Create a new default Vertex
Default
position
- (0., 0.)color
- whitetex_coords
- (0., 0.)
Return a Vertex
impl Debug for Vertex
[src]
Auto Trait Implementations
impl Send for Vertex
impl Sync for Vertex
impl Unpin for Vertex
impl UnwindSafe for Vertex
impl RefUnwindSafe for Vertex
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,