Quote from: MichaelJPCT on April 24, 2024, 05:53:52 AMYou can't specify different integers (byte, short, integer, long, etc.) but you can set the overall integer precision (but this is device specific...).
another question , can there be uniform short array?
As of OpenGLES 3.0, you can do more with integers such as bit manipulation. So I could imagine you could store two shorts in a 32-bit integer variable. (idea can be extended to arrays, of course)
You'll need to make sure your renderer supports OpenGLES3.0 and the device also supports it (as well as bit manipulation).
Quote from: MichaelJPCT on April 24, 2024, 05:53:52 AMFrom my experience this is very device specific. Modern devices usually have allow for more than 256 uniform values.
another question , can a uniform array be longer than 1024 elements?
That means that you should take around 240 as your uniform array size limit. (as other uniform variables are also counted for the device limit).