improved triangle renderer