pub const fn vec4(x: f32, y: f32, z: f32, w: f32) -> Vec4
Expand description
Creates a 4-dimensional vector.
Examples found in repository?
examples/custom_material.rs (line 56)
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
async fn main() {
let mat = load_material(
ShaderSource::Glsl {
vertex: VERTEX,
fragment: FRAGMENT,
},
MaterialParams {
uniforms: vec![("test_color".to_string(), UniformType::Float4)],
pipeline_params: PipelineParams {
color_blend: Some(BlendState::new(
Equation::Add,
BlendFactor::Value(BlendValue::SourceAlpha),
BlendFactor::OneMinusValue(BlendValue::SourceAlpha),
)),
..Default::default()
},
..Default::default()
},
)
.unwrap();
loop {
clear_background(GRAY);
gl_use_material(&mat);
mat.set_uniform("test_color", vec4(1., 0., 0., 1.));
draw_rectangle(50.0, 50.0, 100., 100., WHITE);
mat.set_uniform("test_color", vec4(0., 1., 0., 1.));
draw_rectangle(160.0, 50.0, 100., 100., WHITE);
mat.set_uniform("test_color", vec4(0., 0., 1., 1.));
draw_rectangle(270.0, 50.0, 100., 100., WHITE);
gl_use_default_material();
draw_rectangle(380.0, 50.0, 100., 100., YELLOW);
next_frame().await
}
}