1 hour ago, _Flame_ said:
Yes, i understand this thing is convention.
But I think in opengl the convention is to have side, up, forward like here - https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/gluLookAt.xml
glm::LookAt also has same convention. It would be strange to do it differently.
Certain coordinate spaces in the OpenGL pipeline incorporate certain conventions/expectations, and functions like gluLookAt() and similar functions in GLM reflect that inasmuch as their purpose is to transform geometry into such spaces. But outside of those parts of the pipeline, what convention to use is up to you. In world space, for example, both y-up and z-up are common conventions, and I'd argue that neither is any 'stranger' than the other (although people can certainly have strong opinions on the matter, as is often the case when conventions come into play).
As for your original question, there are others here more qualified to comment on that specific issue, but my intuition is that there's no 'necessary' mapping between 'side, up, and direction/forward' and 'T, B, and N'. For example, this tutorial:
http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-13-normal-mapping/
Seems to refer to x as right and y as up based on how they tend to be oriented in the plane of the texture, while calling z 'outside' (and not, for example, 'direction' or 'forward'). The tutorial you linked to, on the other hand, describes the normal direction as 'up', and since the normal is assigned to the z vector, that makes z up.
I'm happy to be corrected (and maybe someone will do so), but I think the question of which direction is 'up' is purely a matter of convention here (as, I think, the two tutorials mentioned above demonstrate, given that they appear to use different conventions for this). In summary (assuming I'm correct about all this) it's perfectly fine to call z 'up' in a TBN basis.