Непонятки с координатами текстуры в OpenGL C++

Если вас интересовали параметры линкера, то так и надо было спрашивать про параметры линкера.

и что? :man_shrugging:

Ну это ж просто обёртка какая-то. Зачем она мне сейчас?

Там просто объявления и загрузка функций.

Дело не в ней, а в том, что там говорят, что в версии из Дельфи есть баги. Правда не уточняют какие именно.

Delphi is already shipping with an OpenGL header, but that header is outdated and also buggy . Therefore we urge everyone to NOT use that header, especially as it lacks most of OpenGL’s current functionality.

Типа что данная обёртка устраняет эти баги?
И подключив ее, можно так же вызывать низкоуровневые функции напрямую, без обёрточных? И тогда багов не будет?
А opengl32.dll Delphi откуда берёт?

:arrow_down:

Может там вообще не opengl32.dll :man_shrugging:

Да,

Не знаю как в стандартном юните из Дельфи.

А то что писал выше. Delphi своеобразная среда, это не MVS.

замечание - команды и функции OpenGL имеют префикс gl для размещенных в библиотеке opengl32.dll и glu для размещенных в библиотеке glu32.dll. Прототипы этих функций находятся в модуле opengl.pas. Функции OpenGL, имеющие отношение только к реализации OpenGL под Windows, имеют префикс wgl, как, например, wglCreateContext, а некоторые вообще не имеют префикса, например, SwapBuffers. Их прототипы описаны в модуле windows.pas.

Источник: Работа с OpenGL - Введение

И как это связано с тем, откуда берётся файл opengl32.dll?

Файлы:

  • opengl32.dl
    и
  • glu32.dll
    логично было-бы брать из …\Windows\System32
    Но так как есть отличие в префиксах вызова функций, то нужно разбираться что на самом деле происходит при тех или иных префиксах.

Какие отличия? Написано ж просто, что у функций из разных библиотек разные префиксы.
На всякий случай. На самом деле совпадающих имен конечно мало или вообще нет. Нет никаких gluVertex2f, Vertex2f, только glVertex2f.

Если в плюсы загнать формулу расчета смещения из делфийского примера, неужели выходит отличный от Delphi результат?

P. S.
Насколько понял из информации в сети, MVS и Delphi по умолчанию берут эти dll из .\Windows\System32.

какого смещения и из какого примера?
У меня есть другой проект, где одни и те же формулы работают по-разному в С++ и Delphi. Коллизия 2D-шариков визуально сильно отличается. Формулы отскока писал, конечно же, не я и там могут быть ошибки. Но формулы-то одни и те же, а поведение шариков заметно разное. Там, конечно, надо всё еще раз перепроверить :thinking:

Отталкиваюсь от тех фрагментов кода что в первом посте.
Формулы расчета схожи но не идентичны.
Вот к примеру даже взять функцию glTranslatef. В cpp коде в конце каждой итерации делаете сдвих по X на значение 10, а уже в pas коде сдвиг выполняется на значение 0,0625.
И выше, циклы в обоих фрагментах кода производят расчет не одинаково. Т. е. вычисления не идентичны. Посмотрите сами, внимательно.

В приведенных фрагментах, нет. Они различны.

Правильно - не одинаково. Если делать одинаково, то в Delphi не работает. Там еще в других местах есть различия.

Это я про другой проект говорил. Без OpenGL.

Там много чего написано, но есть это:

const
  glu32 = 'glu32.dll';

A opengl32 = 'opengl32.dll' берётся из uses windows, почему-то.