From 5e1a02d2ce86a0e3760e79d59ae17e3597b48c3c Mon Sep 17 00:00:00 2001 From: Grant Sanderson Date: Tue, 17 Jan 2023 17:45:25 -0800 Subject: [PATCH] Use xyz-to-uv matrix for fill --- manimlib/shaders/quadratic_bezier_fill/geom.glsl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/manimlib/shaders/quadratic_bezier_fill/geom.glsl b/manimlib/shaders/quadratic_bezier_fill/geom.glsl index b27b9359..40985863 100644 --- a/manimlib/shaders/quadratic_bezier_fill/geom.glsl +++ b/manimlib/shaders/quadratic_bezier_fill/geom.glsl @@ -83,13 +83,13 @@ void emit_pentagon( } // Compute xy_to_uv matrix, and potentially re-evaluate bezier degree - mat3 xy_to_uv = get_xy_to_uv(p0.xy, p1.xy, p2.xy, is_linear, is_linear); - uv_anti_alias_width = aaw * length(xy_to_uv[0].xy); + mat4 xyz_to_uv = get_xyz_to_uv(p0, p1, p2, is_linear, is_linear); + uv_anti_alias_width = aaw * length(xyz_to_uv[0].xyz); for(int i = 0; i < 5; i++){ int j = int(sign(i - 1) + 1); // Maps i = [0, 1, 2, 3, 4] onto j = [0, 0, 1, 2, 2] vec3 corner = corners[i]; - uv_coords = (xy_to_uv * vec3(corner.xy, 1.0)).xy; + uv_coords = (xyz_to_uv * vec4(corner, 1.0)).xy; emit_vertex_wrapper(corner, j, unit_normal); } EndPrimitive();