diff --git a/build.rs b/build.rs index b8d3fb6b..eaa42b37 100644 --- a/build.rs +++ b/build.rs @@ -176,5 +176,5 @@ fn main() { gl_generator::registry::Ns::Gles2, gl_generator::Fallbacks::All, khronos_api::GL_XML, vec![], - "2.0", "core", &mut file).unwrap(); + "3.0", "core", &mut file).unwrap(); } diff --git a/examples/support/mod.rs b/examples/support/mod.rs index 7e9aa4f3..ab8e2a17 100644 --- a/examples/support/mod.rs +++ b/examples/support/mod.rs @@ -46,9 +46,12 @@ pub fn load(window: &glutin::Window) -> Context { (VERTEX_DATA.len() * mem::size_of::()) as gl::types::GLsizeiptr, VERTEX_DATA.as_ptr() as *const _, gl::STATIC_DRAW); - /*let mut vao = mem::uninitialized(); - gl.GenVertexArrays(1, &mut vao); - gl.BindVertexArray(vao);*/ + if gl.BindVertexArray.is_loaded() { + let mut vao = mem::uninitialized(); + gl.GenVertexArrays(1, &mut vao); + gl.BindVertexArray(vao); + } + let pos_attrib = gl.GetAttribLocation(program, b"position\0".as_ptr() as *const _); let color_attrib = gl.GetAttribLocation(program, b"color\0".as_ptr() as *const _); gl.VertexAttribPointer(pos_attrib as gl::types::GLuint, 2, gl::FLOAT, 0, @@ -85,11 +88,12 @@ static VERTEX_DATA: [f32; 15] = [ const VS_SRC: &'static [u8] = b" #version 100 +precision mediump float; -lowp attribute vec2 position; -lowp attribute vec3 color; +attribute vec2 position; +attribute vec3 color; -lowp varying vec3 v_color; +varying vec3 v_color; void main() { gl_Position = vec4(position, 0.0, 1.0); @@ -99,8 +103,9 @@ void main() { const FS_SRC: &'static [u8] = b" #version 100 +precision mediump float; -lowp varying vec3 v_color; +varying vec3 v_color; void main() { gl_FragColor = vec4(v_color, 1.0);