Я пытаюсь использовать метод glSelectBuffer (размер GLsizei, буфер GLuint *) для выбора объектов несколько иным способом, чем, на мой взгляд, поддерживается в C ++ для OpenGL 3.1.Выделение работает отлично, если я делаю все, как указано онлайн.
Вместо GLuint *, я бы хотел хранить указатели на мои графические объекты в буфере выбора.Это позволит мне легко испускать сигналы на основе выбора, которые содержат указатель на этот объект.Кажется, что это будет работать нормально, когда размер GLuint и размер указателя на мой объект (x86) совпадают, но кажется, что он сломается, когда они не (x64.)
Я могувыполнить это с помощью другого шага, но я бы предпочел не выравнивать идентификатор выбора -> указатель объекта, если OpenGL будет поддерживать этот механизм выбора с другими типами данных.
Возможно ли то, что я пытаюсь сделать, используя механизм выбора OpenGL?(Желательно в OpenGL 3.1, но будущие версии также применимы.)
Имеет ли смысл мой вопрос?Я что-то упустил в своем объяснении?До сих пор я пытался заставить буфер выбора занимать длинные, а не целые, и я получаю ошибку проверки типа (как и ожидалось). Кроме того, я не видел перегруженных методов для glSelectBuffer (), что заставляет меня думать, что этот подходэто невозможно.Я посмотрел на gl.h, чтобы увидеть typedefs и больше понять типы OpenGL.Я также просмотрел похожие вопросы по переполнению стека - прошу прощения, если тот же вопрос был задан, и я пропустил его.