Что означают / делают разные номера библиотек LWJGL OpenGL? - PullRequest
0 голосов
/ 20 июня 2020

Например, иногда люди используют GL15.SOME_VARIABLE, а GL20 имеет точно такую ​​же переменную. Оказывают ли эти библиотеки какое-либо существенное влияние на работу программы или только для организации? Это разные типы версий и в таком случае, почему нужно использовать старые версии вместо новых?

Ответы [ 2 ]

0 голосов
/ 22 июня 2020

Номера библиотек означают используемую вами версию OpengGL. Например, GL20.GL_VARIABLE означает, что вы используете OpenGL 2.0. Каждая версия OpenGL содержит атрибуты, функции и переменные предыдущей версии. Так, например, GL42.GL_ARRAY_BUFFER - это точно такая же переменная, как GL15.GL_ARRAY_BUFFER. Более того, если вы внимательно посмотрите на код, вы увидите, что GL42.GL_ARRAY_BUFFER отсутствует в GL42.class, а в GL15.class. Так что между ними нет абсолютно никакой разницы. Но все же рекомендуется использовать самую минимальную версию, необходимую для функции, потому что:

  • Во-первых, для наглядности код легче понять.
  • И, что наиболее важно, потому что не все видеокарты поддерживают последние версии OpenGL. А также некоторые ОС вроде MacOSX. Он поддерживает только до OpenGL 4.1 ( Поддерживаемая версия OpenGL на Ma c). Хотя последняя версия OpenGL - 4.6
0 голосов
/ 20 июня 2020

Да, это отличается, но не во всех, ваш вопрос не может иметь прямого ответа, так как это да и нет. Некоторые библиотеки обновляют последние или добавляют к ним, но вы бы использовали более старые, поскольку у них все еще есть методы, которые не повторяется в новых из-за отсутствия необходимости редактирования

...