Using your code and this:
[code=delphi]
Cam := MatrixTransform(VectorNegate(Camera.Pos), VectorUniform(0.0),
VectorUniform(1.0));
ModelView := MatrixTransform(VectorCreate(0.0, 0.0, 1.0), VectorCreate(0.0, TriangleRot, 0.0), VectorUniform(1.0));
ModelView := MatrixMultiply(ModelView, Cam);
glUniformMatrix4fv(glGetUniformLocation(ShaderMana ger.GLSLPrograms['minimal'].
ProgramHandle, 'modelViewMatrix'), 1, ByteBool(GL_FALSE), @ModelView);
[/code]
I still have the triangle not spinning around itself.

What could be the matter? I even tried to use the vertices as given here, but still when I want to place the object at (0,0,0), it rotates wrong.