Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn make_mesh(world: &mut World) -> Handle<Mesh>
- {
- use amethyst::renderer::rendy::mesh::{MeshBuilder, Position, TexCoord};
- use amethyst::renderer::types::MeshData;
- let loader = world.read_resource::<Loader>();
- let verts = vec![
- Position([-1.0, -1.0, 0.0]),
- Position([ 1.0, -1.0, 0.0]),
- Position([ 1.0, 1.0, 0.0]),
- Position([-1.0, 1.0, 0.0]),
- ];
- let tex = vec![
- TexCoord([0.0, 0.0]),
- TexCoord([1.0, 0.0]),
- TexCoord([1.0, 1.0]),
- TexCoord([0.0, 1.0]),
- ];
- let mesh_store = &world.read_resource();
- let m = MeshBuilder::new()
- .with_vertices(verts)
- .with_vertices(tex);
- loader.load_from_data(MeshData::from(m), (), mesh_store)
- }
- fn make_texture(world: &mut World) -> Handle<Texture>
- {
- use amethyst::renderer::types::TextureData;
- let loader = world.read_resource::<Loader>();
- let tex_store = &world.read_resource();
- let t = amethyst::renderer::loaders::load_from_linear_rgba(
- amethyst::renderer::palette::Alpha
- {
- color: amethyst::renderer::palette::rgb::LinSrgb::new(1.0, 0.0, 0.0),
- alpha: 1.0
- }
- );
- loader.load_from_data(t.into(), (), tex_store)
- }
- fn make_material(world: &mut World, tex: Handle<Texture>) -> Handle<Material>
- {
- use amethyst::renderer::MaterialDefaults;
- let loader = world.read_resource::<Loader>();
- let mat_store = &world.read_resource();
- let mat = Material
- {
- albedo: tex,
- ..world.read_resource::<MaterialDefaults>().0.clone()
- };
- loader.load_from_data(mat, (), mat_store)
- }
- fn init_square(world: &mut World, mesh: Handle<Mesh>, mat: Handle<Material>)
- {
- let mut transform = Transform::default();
- transform.set_translation_xyz(WIDTH / 2.0, HEIGHT / 2.0, 0.0);
- world.create_entity()
- .with(mesh)
- .with(mat)
- .with(transform)
- .build();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement