#opengl
#opengl
Вопрос:
Так что я не был бы настолько глуп, чтобы спрашивать об этом в целом, но вот ситуация. Я нахожусь в классе compilers, и теперь, когда мы закончили компилятор для нашего разработанного языка, нам нужно написать на нем нетривиальную программу. Я создаю вращающийся куб OpenGL, чтобы продемонстрировать привязки OpenGL, над которыми я работаю.
Но я столкнулся с некоторыми проблемами. В основном, я не могу просто использовать заголовки OpenGL, и в любом случае мне не нужно все там, но это мешает мне иметь какие-либо полезные константы (GL_FLOAT, GL_COLOR_BUFFER_BIT и т.д.).
Итак, мне интересно — являются ли константы #define’d одинаковыми от компьютера к компьютеру и от ОС к ОС? Другими словами, являются ли сами константы частью стандарта GL или оставлены в виде символов?
Спасибо!
Ответ №1:
Значения перечисляемых присваиваются Khronos / ARB, они постоянны. Для создания привязок предоставляются файлы спецификаций, вы можете найти их по:
http://www.opengl.org/registry/
Этот файл спецификации — это то, что вам нужно:
http://www.opengl.org/registry/api/enum.spec
Вы можете найти другие файлы спецификаций в реестре OpenGL.
Комментарии:
1. Это именно то, что я хотел, но я никогда бы не смог выполнить поиск по нему, поскольку я еще не знал, что такое файл спецификации и реестр. Большое спасибо!
2. Вторая ссылка разорвана. Я нашел этот XML-файл со всеми константами raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master /… . А также этот удобный файл .h github.com/drbrain/opengl/blob/master/ext/opengl/gl-enums.h