improved particle rendering