[−][src]Struct rustbatch::render::batch::Batch
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]
texture: Texture,
program: Program,
buffer: Option<Buffer>
) -> Batch
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]
&mut self,
data: &[f32],
pattern: &[u32],
vertex_size: u32,
_: Option<&Program>,
_: Option<&Texture>,
_: Option<&Buffer>
)
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]
T: 'static + ?Sized,
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> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,