The Sprite only needs a DDSCAPS_3DDEVICE flag when created so i suggest a #PB_Sprite_Buffer3D flag for CreateSprite. Furthermore, it could be possible to mix it with the #PB_Sprite_Texture flag.
That would make possible to render sprite rotations, zooms and transforms onto a Sprite or a Sprite3D (a Sprite3D could even render on itself)
example:
Code: Select all
[...]
CreateSprite(#Player1, 320, 480, #PB_Sprite_Buffer3D)
CreateSprite(#Player2, 320, 480, #PB_Sprite_Buffer3D)
[...]
Repeat
[...]
UseBuffer3D(#Player1)
ZoomSprite3D(#Thing1, Width1, Height1)
DisplaySprite3D(#Thing1, x1, y1)
UseBuffer3D(#Player2)
ZoomSprite3D(#Thing2, Width2, Height2)
DisplaySprite3D(#Thing2, x2, y2)
;Displayed onto the 640x480 screen
DisplaySprite(#Player1, 0, 0)
DisplaySprite(#Player2, 320, 0)
UseBuffer3D(#PB_Default)
DisplaySprite3D(#Message, xMessage, yMessage, $80)
FlipBuffers()
ForEver
[...]