I have application to draw thick lines. It is drawn using triangles. The problem is one side of triangle is not straight. This is the image showing the drawn picture:

Did you tried to shake your monitor? Unless those specific numbers are cursed by an evil wizard, the information given is insufficient to find the problem. Reveal the mystery of your drawing algorithm, otherwise “I have no idea why since the y coordinate does not change”.

Yandersen’s dark and hilarious Canadian humor aside, we need more information to help you (shader program if applicable, the actual draw calls, VBOs, and projection/camera/modelview matrices, etc.). Are you drawing anything else?

Yeah, sry! MirzaSe, if those numbers are going directly to gl_Position without being multiplied by any matrices, then the vertical lines should be straight. But I believe you use some modelview or projection transformations, and there is the point where calculation errors come from.

Even if you compose your modelview matrix by 90 degree rotation and check it, the numbers in it will not be straight 1.0 and 0.0. Therefore the 90 degree rotations are better to do manually placing 1.0, -1.0 and 0.0 in proper locations of the matrix. If you are doing any other degrees of rotations (especially nesting those) - forget about straight lines. Recalculate the modelview matrix on CPU without nesting transformations (use angles as source arguments producing matrix as result; handle 90, 180, 270 rotations as exceptions to bypass deg-rad conversions and sin-cos calculations as those will introduce calculation errors).