[][src]Struct rustbatch::render::batch::Batch

pub struct Batch {
    pub data: VertexData,
    // some fields omitted
}

Batch is a core drawing method. You can append vertex data to it and then draw it to window. I made sure you can customize batch however you like. You can for example use custom fragment and vertex shader along with custom buffer and make your own rendering model so 3D is totally possible if you kow how.

Fields

data: VertexData

Implementations

impl Batch[src]

pub fn no_texture() -> Batch[src]

pub fn new(texture: Texture) -> Batch[src]

new returns batch from texture.

pub fn customized(
    texture: Texture,
    program: Program,
    buffer: Option<Buffer>
) -> Batch
[src]

from_program creates batch with custom rendering program

Example

use rustbatch::render::program::Program;
use rustbatch::render::shader::Shader;
use rustbatch::{Batch, Texture};

let texture = Texture::new("your_texture.png", gl::NEAREST, gl::RGBA).unwrap();
let program = Program::from_shaders(&[Shader::default_vertex(), Shader::new("your_shader.frag")]).unwrap();
let batch = Batch::customized(texture, program, none);

pub fn draw<T: Target>(&self, target: &mut T)[src]

pub fn clear(&mut self)[src]

clear clears batch

Trait Implementations

impl Target for Batch[src]

fn append(
    &mut self,
    data: &[f32],
    pattern: &[u32],
    vertex_size: u32,
    _: Option<&Program>,
    _: Option<&Texture>,
    _: Option<&Buffer>
)
[src]

append appends vertex data to texture. pattern specifies how data is used. If you for example provide 4 vertexes you can make rectangle from it with pattern [0, 2, 3, 1, 2, 3]. If you don't know what i mean try to draw four points on paper, index them from 0 to 3 and connect them with lines in specified order.

Panics

If batch has custom buffer and buffers size do not corresponds to vertex_size you will get panic. This is mainly to prevent confusion in case of providing incorrect vertex data structure.

Auto Trait Implementations

impl RefUnwindSafe for Batch

impl Send for Batch

impl Sync for Batch

impl Unpin for Batch

impl UnwindSafe for Batch

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,