             return false
         }
         
+        let d = cross(q1 - q0, q2 - q0)
+        
         rasterizer.rasterize(q0, q1, q2) { point, pixel in
-            
-            let d = cross(q1 - q0, q2 - q0)
             
             if _test(point) {
                 if d.sign == .plus {

            return false
        }
        
        rasterizer.rasterize(q0, q1, q2) { point, pixel in
            
            let d = cross(q1 - q0, q2 - q0)
            
            if _test(point) {
                if d.sign == .plus {

        let q1 = p1 * transform
        let q2 = p2 * transform
        
        let d = cross(q1 - q0, q2 - q0)
        
        rasterizer.rasterize(q0, q1, q2) { point, pixel in
            
            if d.sign == .plus {
                pixel.stencil.pointee.fetchStore { $0 + 1 }
