Instancing.. NVIDIA vs ATI

Hi Everyone,

I have what i hope is a fairly simple question.

My code is using opengl instancing.
However in doing research, i have found that early implementations of instancing support was limited to NVIDIA supporting instance data arrays of max size 1000
and ATI only supporting a max size of 32. (a hell of a difference!)

Since both my computers are using nvidia cards i wanted to ask if anyone knew if this limitation was still true?

thanks.
j.

Nope. Instancing has no limits to the number of instances you can render per draw call. It’s never been true for OpenGL at least, as far as I know.

where i was running into a cap was in the array of uniform variables being passed into the instances
there appeared to be a cap on the max size of the array of mat4 's i was passing it (mat[253] appears to be the max)

looks like i may have to find another way to pass in the instance specific model matrixes.

j.

Use (Float32) textures to sample your instance attributes, with nearest neighbour filtering, using gl_InstanceID to determine which texels to fetch.

This means you fetch instance attributes for every vertex, which is inefficient, but that is unlikely to be a bottleneck.

Use per instance attributes instead.