Browse Source

Merge pull request #48647 from lawnjelly/ewok_2d_skin_unrigged

Batching - fallback for 2d skinning with unrigged polys.
Rémi Verschelde 4 years ago
parent
commit
009a738d09
1 changed files with 15 additions and 9 deletions
  1. 15 9
      drivers/gles_common/rasterizer_canvas_batcher.h

+ 15 - 9
drivers/gles_common/rasterizer_canvas_batcher.h

@@ -1881,17 +1881,23 @@ PREAMBLE(bool)::_software_skin_poly(RasterizerCanvas::Item::CommandPolygon *p_po
 			}
 		}
 
-		// software transform with combined matrix?
-		if (p_fill_state.transform_mode != TM_NONE) {
-			for (int n = 0; n < num_verts; n++) {
-				Vector2 &dst_pos = pTemps[n];
-				_software_transform_vertex(dst_pos, p_fill_state.transform_combined);
-			}
-		}
-
 	} // if bone format matches
 	else {
-		// not supported
+		// not rigged properly, just copy the verts directly
+		for (int n = 0; n < num_verts; n++) {
+			const Vector2 &src_pos = p_poly->points[n];
+			Vector2 &dst_pos = pTemps[n];
+
+			dst_pos = src_pos;
+		}
+	}
+
+	// software transform with combined matrix?
+	if (p_fill_state.transform_mode != TM_NONE) {
+		for (int n = 0; n < num_verts; n++) {
+			Vector2 &dst_pos = pTemps[n];
+			_software_transform_vertex(dst_pos, p_fill_state.transform_combined);
+		}
 	}
 
 	// output to the batch verts