added backface culling. abs(cross product)> 0 check