I again am having issues with OpenGL, this time with the projection matrix. Using gl3n, I have the following code:

```d
    // model matrix
    mat4 trans = mat4(0f);
    trans.make_identity();
    trans = trans.rotatex(radians(-55));

    // view matrix:
    mat4 view = mat4(0f);
    view.make_identity();
    view = view.translation(0f ,0f, -3f);

    // projection matrix
    mat4 projection;
    projection.make_identity();
projection = projection.perspective(800f, 600f, radians(45f), .1f, 100f);
```

I am binding all of these matrices to the correct locations, and this seems to be the gl3n equivalent to what is given in the OpenGL tutorial:

```c
        // create transformations
glm::mat4 model = glm::mat4(1.0f); // make sure to initialize matrix to identity matrix first
        glm::mat4 view          = glm::mat4(1.0f);
        glm::mat4 projection    = glm::mat4(1.0f);
model = glm::rotate(model, glm::radians(-55.0f), glm::vec3(1.0f, 0.0f, 0.0f)); view = glm::translate(view, glm::vec3(0.0f, 0.0f, -3.0f)); projection = glm::perspective(glm::radians(45.0f), 800f / 600f, 0.1f, 100.0f);
```

Everything displays fine (with orthographic projection, of course) if you leave the projection as the identity matrix, but setting it as I have done results in a blank screen. I assume it has to do with the values of

`(projection * view * trans * vec4(vertex, 1)).w` not being 1. Should I just use a different library, and if so, how to use it to generate a perspective matrix?

Reply via email to