This limit is related to used gfx HW and its driver. In OpenGL you can obtain such values on CPU side using this:
GLint x;
glGetIntegerv(GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB,&x);
On my setup:
Vendor: NVIDIA Corporation
OpenGL 4.5.0 NVIDIA 368.22
Render: GeForce GTX 550 Ti/PCIe/SSE2
it returns:
max vertex uniform components: 4096
In order to use this you need working OpenGL 1.0 context or better and know the numeric value of the queried stuff. That is usually stored in gl.h
or glext.h
in your case its the latter and in case you do not want to include glext.h
just add this to your code (C++) before use:
#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A