Различия между fasm и C++ в OpenGL

Тема в разделе "WASM.OpenGL", создана пользователем Rito, 12 июл 2008.

  1. Rito

    Rito New Member

    Публикаций:
    0
    Регистрация:
    30 май 2008
    Сообщения:
    59
    Возникла такая проблема. Я решил что нить написать на fasm на OpenGL. Взял первую свою OpenGL программу на C++ и перевёл на fasm. Получилось в принципе идентично. Но при этом на
    C++ рисуется примитив, а на fasm нет.
    Может кто то сие явление объяснить
     
  2. Rito

    Rito New Member

    Публикаций:
    0
    Регистрация:
    30 май 2008
    Сообщения:
    59
    Вот оно. Почему С++ переводит 45.0f как 40468000h
    А fasm (кстати и masm тоже самое) переводит 45.0f как 42340000h
    Именно из за этого и проблемы. Возникает вопрос, только С++ способен рисовать и правильно преобразовывать нецелые числа. Ассемблеры на это не способны получается?
     
  3. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    Навскидку:
    Код (Text):
    1. gluPerspective(45.0f,1.0f, 1.0f ,100.0f);
    Функция хочет GLdouble, неявная конверсия тут из float. В фасме invoke double не поддерживает, насколько я помню.
     
  4. zet

    zet New Member

    Публикаций:
    0
    Регистрация:
    15 окт 2007
    Сообщения:
    121
    Фасм какраз поддерживает (если подключить win32ax.inc или win32wx.inc):
    Код (Text):
    1. invoke gluPerspective, double 45.0, double 1.0, double 1.0, double 100.0
     
  5. iZzz32

    iZzz32 Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    3 сен 2006
    Сообщения:
    355
    zet, спасибо, не знал.