stride (and so named offset spacing) is used to reduce the actual need to have more than one table descrypting a "something" you just can agregate extra verticle properities, and it lets you have all info you want in just one array ! (helps a lot when it comes to manipulating)

so you may have a

x,y,z,x,y,z form

as well as

x,y,z,alpha,type,x,y,z,alpha,type,

it's an array, so the type is constat, but it's also a linear memory so you can contain data of any virtualy constat-length type between the coordinates set :) all you need to know for furher operations is the offset of every "extra info" and total length of pack descrybing a verticle :) it may be extra coords (ie texture), calculated light, or any other junk

gl is only interested in the coords, because only coords it can use, so he makes assuption, that coords come firtst (well it's just a array you can shift it a bit, and cos it's cyclic it will always look good for gl), and lets you tell how many of array units ( this is also up to you) is he to skip each time he traces next vertice

co the cycle ( totla verticle description length) is

(stride+size)*sizeof(type) :)

got it?

so you may have a

x,y,z,x,y,z form

as well as

x,y,z,alpha,type,x,y,z,alp

it's an array, so the type is constat, but it's also a linear memory so you can contain data of any virtualy constat-length type between the coordinates set :) all you need to know for furher operations is the offset of every "extra info" and total length of pack descrybing a verticle :) it may be extra coords (ie texture), calculated light, or any other junk

gl is only interested in the coords, because only coords it can use, so he makes assuption, that coords come firtst (well it's just a array you can shift it a bit, and cos it's cyclic it will always look good for gl), and lets you tell how many of array units ( this is also up to you) is he to skip each time he traces next vertice

co the cycle ( totla verticle description length) is

(stride+size)*sizeof(type)

got it?