Конференция "Игры" » OpenGL. Мировые координаты. [Delphi, Windows]
 
  • Б (03.12.09 10:24) [0]
    Здрасти!

    Как перейти в OpenGL из системы координат [-1..1] в систему
    координат окна? (Мировые координаты, кажется)
    В Direct3D есть специальный тип вертексов для этого.
    Как же в OpenGL такое замутить?
  • @!!ex © (03.12.09 11:51) [1]
    glVertex3f
  • Б (03.12.09 11:58) [2]

    > glVertex3f


    Что это? Тут же просто добавляется 3-Z-координата.
  • 0x00FF00 (03.12.09 15:50) [3]
    Т.е., насколько я понял, тебе нужно, чтобы точка (0.0, 0.0) в окне 640×480 была преобразована в (320, 240).
    Это делается элементарной арифметикой:

    W.x = (G.x+1.0)*(C.x/2)
    W.y = (G.y+1.0)*(C.y/2)



    где W — координаты точки окна, G — OpenGL-координаты в диапазоне [-1..+1], а С — размеры области OpenGL-ной отрисовки.
  • @!!ex © (03.12.09 16:13) [4]
    > [2] Б   (03.12.09 11:58)

    Ты задачу по русски поставь и не выдумывай термины.
    Экранные координаты это называется и делается с помощью gluUnproject
  • 0x00FF00 (03.12.09 17:59) [5]
    > делается с помощью gluUnproject

    Хм. А может, наоборот, с помощью gluProject? =)
    http://msdn.microsoft.com/en-us/library/dd368677(VS.85).aspx
  • @!!ex © (06.12.09 23:23) [6]
    Эм. Да. Ошибся.
  • Б (12.05.10 01:20) [7]
    Имелось ввиду glOrtho...
  • @!!ex © (12.05.10 07:57) [8]
    Без разницы.
 
Конференция "Игры" » OpenGL. Мировые координаты. [Delphi, Windows]
Есть новые Нет новых   [118606   +34][b:0][p:0.001]