Прежде всего, glTranslate и большинство, если не все значения преобразования, не ограничиваются значениями от «-1,0» до «1,0».Возможность перемещения объекта на 10 пикселей влево или вправо потребует правильной настройки матриц преобразования.Ниже приведен порядок работы OpenGL с указанными вами вершинами.
[(4x4) Проекция] [(4x4) Просмотр] [(4x4) Модель] * [(4x1) вашей вершины]
Возможно, вы захотите использовать glOrtho (0,0, ширина, 0,0, высота, -1,0,1,0) для настройки матрицы проекции.Вы можете оставить матрицу просмотра в качестве матрицы идентификаторов.Наконец, вы можете использовать матрицу модели для перевода, поворота и масштабирования ваших объектов в пиксельном масштабе.Теперь glTranslatef (10.0,0.0,0.0) в матрице модели должен переместить ваш объект на 10 пикселей в направлении x.В качестве альтернативы, вы можете оставить матрицу модели как единичную матрицу, и позволить вашим вершинам представлять координаты пикселей.
Вы можете посмотреть на эту powerpoint, а на слайде 4 вы можете увидеть симпатичный график, детализирующий то, что происходит с вашими вершинами,https://wiki.engr.illinois.edu/download/attachments/195761441/OpenGL.pptx?version=1&modificationDate=1326820017000