Конференция "Игры" » Opengl реализация камеры космического корабля [Delphi, Windows]
 
  • Kav (16.11.09 19:44) [0]
    Как в Opengl реализовать камеру для космического корабля/или самолета, как в аркадах ?
    как например в Heroes of the Pacific
  • 0x00FF00 (17.11.09 03:07) [1]
    возможно ответ Вас смутит, но — точно так же как и камеру для НЕ космического корабля =)

    конкретизируйте задачу.

    что требуется от камеры?
  • _ (17.11.09 07:54) [2]
    Скроллер-камера или 2D-камера?
  • Kav (17.11.09 14:23) [3]
    Камера для космического корабля, типа "верх должен быть динамичным, голова как бы наклоняется вместе с кораблем
    gluLookAt(TmX,Tmy,Tmz, // откуда смотрим
             TmX2,TmY2,Tmz2,    // куда смотрим
             TTT.X,TTT.Y,TTT.Z);    // где у нас верх

    а вот тут и надо как -то высчитывать вектор
    чтоб мир "верх" был динамичным, менялся как бы
    TTT.X,TTT.Y,TTT.Z);    // где у нас верх
  • _ (17.11.09 15:18) [4]
  • Kav (18.11.09 01:30) [5]
    Убил весь день испытывая эту камеру http://xproger.mentalx.org/old/?id=1&page=2&doc=camera

    не получается на основе нее сделать повороты по всем осям, ну в общем что-то не то получается,, я уж не знаю что делать неужели никто не делал для  космоса камеру?
  • _ (18.11.09 03:47) [6]
    Не парься. ;)

    http://igdc.ru/igdc_top.php?allkonkurs
    (См. scroller)

    P.S. Ммм... Сколько исходников. 8)
  • @!!ex © (18.11.09 11:00) [7]
    glRotatef(CameraRotation.X, 1, 0, 0);
    glRotatef(CameraRotation.Y, 0, 1, 0);
    glRotatef(CameraRotation.Z, 0, 0, 1);

    glTranslatef(-CameraPosition.x,-CameraPosition.y,-CameraPosition.z);

  • Kav (18.11.09 16:13) [8]
    (См. scroller)
    Там вообще камера с видом 2д в основном

    это же объект будет крутиться и перемещаться, а не камера
    glRotatef(CameraRotation.X, 1, 0, 0);
    glRotatef(CameraRotation.Y, 0, 1, 0);
    glRotatef(CameraRotation.Z, 0, 0, 1);

    glTranslatef(-CameraPosition.x,-CameraPosition.y,-CameraPosition.z);
  • _ (18.11.09 16:37) [9]

    > это же объект будет крутиться и перемещаться, а не камера


    Как ты вообще программируешь графику, если не знаешь про восстановление матриц?
  • Kav (18.11.09 16:59) [10]
    Кажется я врубился что вы мне тут втираете....

    применить эти команды для матрицы камеры, а не объекта...
  • @!!ex © (18.11.09 18:13) [11]
    Что такое матрица камеры?? O_o
    View чтоли из ModelView??
    Зачем ее отделять? Они прекрасно в одной матрице уживаются.
  • Kav (18.11.09 19:09) [12]
    То ли вы не можете понять что я хочу, то ли я сошел с ума...
  • Kav (18.11.09 19:13) [13]
    мне же нужно повернуть не один самолет а весь мир
  • _ (18.11.09 19:52) [14]

    > мне же нужно повернуть не один самолет а весь мир


    И тем самым уничтожить видяху.
    Зачем поворачивать ВЕСЬ МИР, не проще ли просто крутануть точку обзора, то бишь камеру?
  • @!!ex © (18.11.09 20:19) [15]
    > [12] Kav   (18.11.09 19:09)

    толи ты нифига не понимаешь как работает матрица трансформации
  • Kav (18.11.09 20:59) [16]
    я что-то не догоню
    как этот код
    glRotatef(CameraRotation.X, 1, 0, 0);
    glRotatef(CameraRotation.Y, 0, 1, 0);
    glRotatef(CameraRotation.Z, 0, 0, 1);

    glTranslatef(-CameraPosition.x,-CameraPosition.y,-CameraPosition.z);

    может повернуть саму камеру?
  • _ (19.11.09 15:19) [17]

    > может повернуть саму камеру?


    Нет. Это тебе просто так написали. ;D
  • @!!ex © (19.11.09 17:07) [18]
    > [16] Kav   (18.11.09 20:59)

    ну так ета... в матрицу запишется и повернет...
    Изменит положение и ориентацию системы координат.
    Грубо говоря - камера никуда не повернется, повернется весь мир относительно нее. :)
  • @!!ex © (19.11.09 17:09) [19]
    Вобщем то это элементарная математика. Возьми зашкирятник знакомого математика и попроси объяснить.
    И статей в гугле почитай. Жить станет проще.
    Сам несколько лет назад использовал "код из книжки" нихрена не понимая.
    После того как понял все что делаю, и перестал тупо копировать жизнь стала существенно проще и интересней. :)
  • _ (19.11.09 17:58) [20]
  • _ (19.11.09 17:59) [21]
    Изменится только точка обзора.
    Нафига поворачивать ВЕСЬ мир, если можно отойти и посмотреть на всё
    с другой стороны? ;)
  • Kav (19.11.09 18:14) [22]
    В общем ситуация такая, все я так понимаю работали в 3ds max так вот в нем объект крутиться по 6 углам вот что -то такое же мне нужно сделать в opengl но для камеры,
  • @!!ex © (19.11.09 19:25) [23]
    > [22] Kav   (19.11.09 18:14)

    6 углов? Круто. :)))
    В нашем пространстве(трехмерном) достаточно трех углов.

    А вообще код я уже привел. он прекрасно работает и позволяют поместить камеру в самые немислимые позы.
  • Kav (17.12.09 10:54) [24]
    Эти камеры ни в каком порядке не подходят для космического корабля, для самолета да, но для космического корабля никак....
  • @!!ex © (17.12.09 11:09) [25]
    > [24] Kav   (17.12.09 10:54)

    Работай напрямую с матрицей.
  • [true]TRIx © (23.04.10 05:21) [26]
 
Конференция "Игры" » Opengl реализация камеры космического корабля [Delphi, Windows]
Есть новые Нет новых   [118582   +31][b:0][p:0.001]