Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • Nov 26 21:06
    Peter-Crawley commented #1970
  • Nov 26 20:21
    est31 commented #1954
  • Nov 26 20:20
    est31 closed #1970
  • Nov 26 20:20
    est31 commented #1970
  • Nov 26 19:12
    Peter-Crawley opened #1970
  • Nov 24 12:10

    est31 on master

    Get rid of unneccessary cast (#… (compare)

  • Nov 24 12:10
    est31 closed #1969
  • Nov 24 12:10
    est31 commented #1706
  • Nov 24 11:18
    est31 commented #1957
  • Nov 24 11:18
    est31 commented #1706
  • Nov 24 11:16
    est31 synchronize #1969
  • Nov 24 11:12
    est31 opened #1969
  • Nov 24 10:17
    andreytkachenko commented #1706
  • Nov 21 08:39
    fayalalebrun commented #1965
  • Nov 20 21:05
    est31 commented #1965
  • Nov 20 18:10
    fayalalebrun commented #1965
  • Nov 20 17:55
    est31 commented #1965
  • Nov 20 17:22

    est31 on master

    Add support for importing Vulka… (compare)

  • Nov 20 17:22
    est31 closed #1965
  • Nov 20 14:37
    fayalalebrun review_requested #1965
Jeroen Bollen
How would I go about constructing a Cubemap texture? There doesn't seem to be a constructor?
Peter Bay Bastian
How would I go about using glium with nalgebra? I tried enabling the nalgebra feature, but I'm told by cargo that glium doesn't have that feature
oh, seems nalgebra and cgmath support was removed as per this commit tomaka/glium@d08048f
Peter Bay Bastian
what do i do then?
Jonathon Walsh
I'm having an odd problem using glium that I'm curious if anyone else has seen. My program runs fine on Windows, and the example programs run fine on my mac, but when I run my program on the mac there's no window that appears and I can't get glium to give me any sort of useful debug info.
Fedor Logachev

hey guys! just asked on irc, but maybe someone here knows too :)

fn draw_foo<T : Surface>(surf : &mut T, textures : Vec<(String, Texture2d)>) {
  let uniforms  = ?;
  surf.draw(...., uniforms, ...)

I cant found any ways to pass compile unknown count of textures to my shader

Maik Klein
@tomaka Do you still think that Rust needs a better math library? See https://www.reddit.com/r/rust_gamedev/comments/4pa35k/is_there_value_in_creating_a_new_math_library/
Aaron Muir Hamilton
Hey folks; is there any way to draw quads in glium?
(aside from monotonously filling the index buffer with the regular [idx++, idx++, idx--, idx++, idx++, idx++] nonsense)
In my GLES2 applications I just flood the index buffer with this nonsense because there is no other way, but IIRC OpenGL 3.3 should still have GL_QUADS
I have question, is Vulakano application capable of porting to Android? Has anybody ever experience of game or engine developement with it?
I know it has a winit part but, I have some problem to build the traingle example for Android, and I have really like to know is this gonna be a promising library for android developemt?
Hello, my English is very poor, so I use Google Translate.
I have a problem has always wanted to not understand, although the problem can be bypassed.
why textures implement AsUniformValue is impl AsUniformValue for &'a TextureType
not for TextureType? in the as_uniform_value(), code is UniformValue(*self, None), self: &'a Texture...
impl AsUniformValue for SrgbTexture2d {
    fn as_uniform_value(&self) -> UniformValue {
        UniformValue::SrgbTexture2d(self, None)
this can success compile, for what reason choose impl UniformValue for &'a TextureX? Is to avoid memory safety issues in this code?
I want to do this, but I'm afraid of causing problems, so come ask if this will cause any problems.
thanks very much!
David Harvey-Macaulay
Hello, what's the difference between a Buffer and a BufferView? Intuition tells me a BufferView is a subset of a Buffer and so a BufferViewSlice must be a subset of a BufferView. This is the result I need but according to the documentation there seems to be no difference between the construction of a BufferView versus a Buffer at all.
Fedor Logachev
@tomaka Hello! I made quick port of glium_text to rusttype https://github.com/not-fl3/glium_text - it works well for quick protyping and dont requires additional binary dependencies. Code is not clean, and I didnt found a way to get all characters from rusttype like you did with truetype, so I dont think that you need it in main repo.
But it works well for me, and I am thinking about publish it on crates.io with different name, like glium_text_rusttype, do you have any thoughts about it?
Valera Rozuvan

Hey guys! Quick question. In OpenGL, when you have something like:

vec3 A = vec3(1.0, 2.0, 3.0);
A.xy = -A.yx;

A will now become:

{-2.0, -1.0, 3.0}

(In GLSL to be more precise. This is possible due to "swizzling". But in this particular case - I am in a bit of a doubt.)

What is the equivalent of glfwGetTime
I'm trying to perform a rotation, should I have my own timer, or does glutin/glium have a similar function
Thanks in advance! :D
I've got another question:
What is the glium parameter equivalent of:
I've tried using all the blend functions with OneMinusSourceAlpha and it doesn't work
There is white stuff on the edge of the image as well as having a black background
If I run this in OpenGL it will make things transparent and it will remove that white stuff around the edge of the png
To my first question:
        let params = glium::DrawParameters {
            blend: glium::Blend::alpha_blending(),
            .. Default::default()
And to my second:
// At the start of your program
let instant = Instant::now()
// Later
instant.elapsed().as_secs() as f64 + instant.elapsed().subsec_nanos() as f64 * 1e-9) as f32
(this may be a stupid question) Which version of opengl is used by glium?
tomaka Whatever version is available
so i could use opengl 4.5 features but had to test for required hardware first right?
first time with opengl :D
set the context to 4.5
Corentin Brunel
Hey everyone, I'm trying to learn about OpenGL by following the learnopengl, but right I'm lost.
I am trying to send a struct in a uniform, I tried everything that I could and nothing worked.
I tried the UniformBuffer to see if it would work, but even by itself with a simple f32 value, it doesn't work:
let buffer_material = glium::uniforms::UniformBuffer::new(&display, 1.0f32).expect("failed to create uniform buffer");
target.draw(&cube_vertex_buffer, &index_buffer, &program, &uniform! {
    MyBlock: &buffer_material,
&params).expect("failed to draw");
#version 330
uniform layout(std140);
uniform MyBlock {
    float test;
} myblock;

void main() {
FragColor = vec4(myblock.test, 1.0);
I can force the value to 1.0, use a simpler uniform and it will work
but this absolutely doesn't want to work
Corentin Brunel

I also tried renaming everything to make the block work, it just won't do anything.

Following this: LearnOpenGL - Lighting - Materials
What would I want to do to get the data I need across ? should I use regular uniforms and not worry about structs ? Even though it won't be as organized ?

Corentin Brunel

New issue now, it works but only partially !
here is the rust code (only part of it)

    #[derive(Copy, Clone)]
    struct Test {
        color: [f32; 3],
        color_two: [f32; 3],
    implement_uniform_block!(Test, color, color_two);
    let struct_uni_test = Test {
        color: [0.5, 0.5, 0.5],
        color_two: [0.2, 0.6, 0.1],
    let uni_test = glium::uniforms::UniformBuffer::new(&display, struct_uni_test).expect("failed to create uniform buffer");

And the GLSL:

#version 330 core
uniform layout(std140);

uniform UniTest {
    vec3 color;
    vec3 color_two;

void main()
    FragColor = vec4(color, 1.0);

And here is the error:

thread 'main' panicked at 'failed to draw: UniformBlockLayoutMismatch { name: "UniTest", err: MemberMismatch { member: "color_two", err: OffsetMismatch { expected: 16, obtained: 12 } } }', src\libcore\result.rs:906:4
The second color isn't offset well ? why would that be ?
Corentin Brunel
Found it ? maybe ? If I use vec4 instead of vec3 it seems to work
Is it possible to only use a VertexBuffer and not an IndexBuffer?
Sam Johnson
any tips on how to unbreak the examples after the recent glutin update?
I've been using glium for writing a visualizer. now i want to support Resolume, so i need to write a FFGL plugin. it gets the opengl context passed from the host and then needs to render into it. how can i do that with glium?
roberto forcen
what's the equivalent to: glEnable(GL_DEPTH_TEST);