Размещение new также очень полезно при сериализации (скажем, с boost :: serialization). В 10 лет c ++ это только второй случай, когда мне нужно новое место для размещения (третий, если вы включаете интервью :)).
Это было давно, но я думаю, что это не проблемы с Z-буфером. OpenGL использует правую систему координат, а положительный Z находится вне экрана. Таким образом, ваш синий треугольник с большими значениями z означает, что он должен быть впереди. Меньшие значения z должны быть дальше, не так ли? Так что это правильное поведение, я верю.
Мне это кажется правильным выводом. OpenGL перевернул ось Z по сравнению с DirectX. Итак, +1 впереди, -1 сзади, поэтому «камера» смотрит в отрицательном направлении Z.
Как прокомментировал @Quimby, решение можно найти здесь здесь
Проблема заключалась в том, что SFML требует, чтобы вы устанавливали буфер глубины через настройки окна.