Yeah, I checked out some of these threads.
Well, I rewrote that demo code and found out something interesting: the MESH made from the sphere has 54 vertexes, but if I count the vertexes of the limb 0 of the object (the object itself), the vertex count shows 15 - that is a reasonable numbers, since the beforementioned object has 8 triangular faces.
The good part is that playing around with vertexdata proved to be great for improving my yet-so-weak programming skills.
I adapted an old technique I used to produce 3D waves in matrices - pretty minimalist - and adapted it to work with vertexdata instead, and produced a plain object that has waves. Check it out.
SET DISPLAY MODE 1366,768,32 : MAXIMIZE WINDOW : SET WINDOW LAYOUT 0,0,0
c1 = rgb(0,0,255):c2 = rgb(0,155,255)
box 0,0,5,10,c1,c1,c2,c2
box 5,0,10,10,c2,c2,c1,c1
get image 1,0,0,10,10,1
sync on
sync rate 60
make object plain 1,10,10,2,2
SET AMBIENT LIGHT 50
texture object 1,1
set object specular 1,rgb(0,255,255)
set object diffuse 1,rgb(0,0,0)
set object specular power 1,255
color backdrop 0
set text size 100
position camera 0,0,8,-40
point camera 0,0,0,40
set spot light 0,35,45
position light 0,0,10,50
point light 0,0,0,-20
o = 2
for ox = -400 to 400 step 10
for oy = -400 to 400 step 10
if ox or oy <> 0
instance object o,1
position object o,ox,0,oy
inc o
endif
next
Next
do
scroll object texture 1,.01,0.01
I = 0
lock vertexdata for limb 1,0
c = get vertexdata vertex count()
x as float
y as float
z as float
w as float
w = cos((timer()/10) mod 360)
for v = 0 to c-1
x = get vertexdata position x(v)
y = get vertexdata position y(v)
z = get vertexdata position z(v)
if V MOD 2 = 0 then w2# = w else w2# = -w
set vertexdata position v,x,1*w2#,z
Next
unlock vertexdata
set object normals 1
TEXT 0,0,"fps:"+STR$(SCREEN FPS())
TEXT 0,100,"oBJS:"+STR$(O)
sync
Loop
In my PC it runs at 50fps with 6500+ objects at once - I instanced the object 1 to see if the vertexdata operations would be applied to all of them - and yeah, it wa
[size=+2]Forever and one[/size]