mirror of
https://github.com/3b1b/manim.git
synced 2025-08-05 16:49:03 +00:00
More explicitly unpack v_base_normal
This commit is contained in:
parent
6223623b40
commit
0b2c59ac6b
2 changed files with 8 additions and 7 deletions
|
@ -38,6 +38,5 @@ void main() {
|
|||
float x = uv_coords.x;
|
||||
float y = uv_coords.y;
|
||||
float Fxy = (y - x * x);
|
||||
// if(!winding && orientation < 0) Fxy *= -1;
|
||||
if(Fxy < 0) discard;
|
||||
}
|
||||
|
|
|
@ -26,9 +26,7 @@ const vec2 SIMPLE_QUADRATIC[3] = vec2[3](
|
|||
#INSERT finalize_color.glsl
|
||||
|
||||
|
||||
void emit_triangle(vec3 points[3], vec4 v_color[3]){
|
||||
vec3 unit_normal = v_base_normal[1];
|
||||
|
||||
void emit_triangle(vec3 points[3], vec4 v_color[3], vec3 unit_normal){
|
||||
orientation = sign(determinant(mat3(
|
||||
unit_normal,
|
||||
points[1] - points[0],
|
||||
|
@ -57,17 +55,21 @@ void main(){
|
|||
// Check zero fill
|
||||
if (vec3(v_color[0].a, v_color[1].a, v_color[2].a) == vec3(0.0, 0.0, 0.0)) return;
|
||||
|
||||
vec3 base_point = v_base_normal[0];
|
||||
vec3 unit_normal = v_base_normal[1];
|
||||
// Emit main triangle
|
||||
fill_all = 1.0;
|
||||
emit_triangle(
|
||||
vec3[3](v_base_normal[0], verts[0], verts[2]),
|
||||
vec4[3](v_color[1], v_color[0], v_color[2])
|
||||
vec3[3](base_point, verts[0], verts[2]),
|
||||
vec4[3](v_color[1], v_color[0], v_color[2]),
|
||||
unit_normal
|
||||
);
|
||||
// Edge triangle
|
||||
fill_all = 0.0;
|
||||
emit_triangle(
|
||||
vec3[3](verts[0], verts[1], verts[2]),
|
||||
vec4[3](v_color[0], v_color[1], v_color[2])
|
||||
vec4[3](v_color[0], v_color[1], v_color[2]),
|
||||
unit_normal
|
||||
);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue