I think you are right and maybe for now thats a kind of solution, however if we talk about using plane object for recreating effects such as smoke or fire this gets much difficult to handle or maybe I should say impossible to handle as there could be other transparent objects in the background and will be impossible to isolate just the particles to swap the order they are placed in relation to the camera.
Anyway, allow me to post the code I mentioned as I just created s short example to show the issue, maybe this could clarify what I mean.
#include "DarkGDK.h"
void DarkGDK ( void )
{
int i;
float angy=0;
dbSyncOn ( );
dbSyncRate ( 60 );
dbColorBackdrop(0);
dbLoadImage("cloud.png",1,1);
for(i=0;i<50;i++)
{
dbMakeObjectPlain(i+1,50,50);
dbTextureObject(i+1,1);
dbSetObjectTransparency(i+1,1);
dbPositionObject(i+1,0,0,i*10);
}
while ( LoopGDK ( ) )
{
angy=dbWrapValue(angy+0.1);
dbRotateCamera(0,angy,0);
dbPositionCamera(0,0,250);
dbMoveCamera(-400);
dbSync ( );
}
return;
}
Seeing the queue from one side is ok, from the other side I see the borders of every plane when overlaping the next one and this breaks the effect.
Edit: The plane objects are not being rotated as this way there will be moments when they will overlap and thats another bug already commented before