Hello again.

I noticed that the code does not entirely do what I want it to. The thing is that the code doesn't behave like it takes the camera into account.

I mean the part of the code where the camera transformation is calculated. I changed it a little to include the rotation of the camera. Here's the changed part:
[code=delphi]
// Camera transformations
Cam := MatrixTransform(VectorNegate(Camera.Pos), VectorCreate(Camera.Pitch,
Camera.Yaw, 0.0), VectorUniform(1.0));
ModelView := MatrixTransform(VectorCreate(0.0, 0.0, 0.0),
VectorCreate(0.0, TriangleRot, 0.0), VectorUniform(0.5));
ModelView := MatrixMultiply(ModelView, Cam);
ModelView := MatrixMultiply(ModelView, ProjMat);

// Update the shader
glUniformMatrix4fv(glGetUniformLocation(ShaderMana ger.GLSLPrograms['minimal'].
ProgramHandle, 'mvpmatrix'), 1, ByteBool(GL_FALSE), @ModelView);
[/code]
The new code of my vertex shader:
[code=c++]
#version 150

precision highp float;

uniform mat4 mvpmatrix;

in vec3 in_Position;
in vec3 in_Color;

out vec3 ex_Color;
void main(void) {
gl_Position = mvpmatrix * vec4(in_Position, 1.0);

ex_Color = in_Color;
}
[/code]

Changing the values Pitch and Yaw doesn't really rotate the camera, but the object on the contrary. How do I change the code? Any suggestions?

BTW, before I changed the shader code, it didn't work as well.