glGet () ваш друг, с:
GL_MAX_3D_TEXTURE_SIZE
GL_MAX_TEXTURE_SIZE
GL_MAX_VERTEX_ATTRIBS
GL_MAX_VARYING_FLOATS
GL_MAX_TEXTURE_UNITS
GL_MAX_DRAW_BUFFERS
например:.
GLint result;
glGetIntegerv(GL_MAX_VARYING_FLOATS, &result);
Не совсем уверен, для чего предназначен ваш проект, но вас может заинтересовать OpenCL , если это вычисления общего назначения, а вы еще об этом не знали. В частности, Cl / GL interop , если имеется также графический элемент и ваше оборудование поддерживает его.
Как отметил Деймон в комментариях на практике, это может быть более сложным, чем это для размеров текстур. Проблемы возникают из-за того, что рендеринг может отойти от аппаратного обеспечения до программного обеспечения для некоторых размеров текстур, а также потому, что размер текстуры варьируется в зависимости от используемого формата пикселей. Чтобы обойти это, можно использовать GL_PROXY_TEXTURE_ * с glTexImage *.