Are the 3d sprites which share one 2D sprite single-surface?
That is, if I do:
Code: Select all
For s=1 to 50
CreateSprite3D(s, #mysprite)
Next
Under Blitz it turns out that single-surface sprites are significantly faster than separate-surface ones.
How about adding commands/functions like:
Code: Select all
FlipSprite3D(#mysprite,Horizontally,Vertically)
Code: Select all
SpritesOverlap3D(#sprite1,#sprite2)
In my lib I have a routine to check if each vertex in one sprite is 'inside' the vertices of the other sprite (and vice-versa).
It works on rotated/flipped sprites as well.
Code: Select all
SpriteColor3D(#mysprite,r,g,b)
Code: Select all
ChangeSpriteUVCoord3D(#mysprite,vert,u,v)
u/v = new texture coordinate of vertex
Could be used to change image on the fly by setting the texture coordinates to point at a different region in the texture.
I have 2 speed tests here for you guys to try out if you wish.
One in Blitz3D and the other in PB.
Not really a fair comparision though. Both use different techniques to render the balloons.

Download HERE
What are your thoughts on the above proposed commands/functions?