Когда я занимался openGL, я быстро использовал только треугольники. Они особенные в том, что треугольник ни в коем случае не является двусмысленным.
Вы пример, хотя, я думаю, это будет работать, хотя, вероятно, с артефактами.
то, как вы разбиваете прямоугольник, не имеет значения, лишь бы вы обращали внимание на то, как намотаны ваши треугольники, как вы определяете точки, поскольку именно это диктует их спереди и сзади.
Но определенно придерживайтесь треугольников, изображайте эти четыре точки квадрата
(0,0,0) (1,0,0) (1,0,1) (0,0,1)
Довольно легко увидеть, что это плоский квадрат, но что если я поменяю их на
(0,1,0) (1,0,0) (1,1,1) (0,0,1)
что у тебя сейчас? это может быть нарисовано как долина или как холм. если я определил эту форму с помощью треугольников, вы точно знаете, что я описываю
(0,1,0) (1,0,0) (1,1,1)
(1,1,1) (1,0,1) (0,1,0)
Гороподобная форма
хорошо ... так что я немного отследил здесь ... моя точка зрения в том, что я не знаю, что ваш код будет делать на практике, но я не думаю, что вы должны использовать его в любом случае. и то, как вы разделяете прямоугольники, не должно иметь значения, если ваши треугольники описаны правильно.