I'm currently working on an Applet with which you can rotate a cube and other shapes.
Everything is going fine, but I have one problem: the order in which you draw each face.
I'm currently using the painter's algorithm, but - as expected - it doesn't work properly. I have read articles and tutorials about BSP-tree's, but I don't really understand them. Also, They seem to work only with a static world, which I don't want. :\

My question: Could anyone explain BSP-tree's to me, with an example, or give me a link to a decent, detailed BSP-tree tutorial. Also, does anyone know what method is best for a non-static world and eventually also for a static one?

Please help me,