X-Git-Url: https://codewiz.org/gitweb?p=mandelwow.git;a=blobdiff_plain;f=shaded_cube.rs;h=211f23fa17ad30609ddda9a9c5cbcf0c8c5d0e00;hp=560256f2ad3d59b8905dc6f3cdde5219b200bea8;hb=1124a995ef96469daf8593cb7fe9a17ee11bac2e;hpb=70c8f16193bd0b77a59cddc76c700b9d7f43b37c diff --git a/shaded_cube.rs b/shaded_cube.rs index 560256f..211f23f 100644 --- a/shaded_cube.rs +++ b/shaded_cube.rs @@ -1,11 +1,12 @@ use glium; -use glium::{Display, Program, Surface}; +use glium::{Display, Program, Surface, implement_vertex}; use glium::index::{IndexBuffer, PrimitiveType}; +use std::rc::Rc; pub fn shaded_program(display: &Display) -> Program { - let vertex_shader_src = include_str!("shaded.vert"); - let fragment_shader_src = include_str!("shaded.frag"); - return Program::from_source(display, vertex_shader_src, fragment_shader_src, None).unwrap(); + let vertex_shader_src = include_str!("shaders/shaded.vert"); + let fragment_shader_src = include_str!("shaders/shaded.frag"); + Program::from_source(display, vertex_shader_src, fragment_shader_src, None).unwrap() } #[derive(Copy, Clone)] @@ -15,14 +16,14 @@ struct Vertex { } implement_vertex!(Vertex, position, normal); -pub struct ShadedCube<'a> { +pub struct ShadedCube { vertexes: glium::VertexBuffer, - program: &'a Program, + program: Rc, indices: IndexBuffer, } -impl<'a> ShadedCube<'a> { - pub fn new(display: &Display, program: &'a Program) -> ShadedCube<'a> { +impl<'a> ShadedCube { + pub fn new(display: &Display, program: Rc) -> ShadedCube { // x---> // 4 ──────┐ 5 // ╱┆ ╱│