261 Commits

Author SHA1 Message Date
a5a73cb2da Fix typos in GLSL comments and add constants PURE_RED, PURE_GREEN, PURE_BLUE (#2340)
* Fix typos in GLSL comments

* Fix typos in GLSL comments

* add constants PURE_RED, PURE_GREEN, PURE_BLUE
2025-06-10 08:12:11 -07:00
db421e3981 Video work (#2318)
* Only use -no-pdf for xelatex rendering

* Instead of tracking du and dv points on surface, track points off the surface in the normal direction

This means that surface shading will not necessarily work well for arbitrary transformations of the surface. But the existing solution was flimsy anyway, and caused annoying issues with singularity points.

* Have density of anchor points on arcs depend on arc length

* Allow for specifying true normals and orientation of Sphere

* Change miter threshold on stroke shader

* Add get_start_and_end to DashedLine

* Add min_total_width option to DecimalNumber

* Have BackgroundRectangle.set_style absorb (and ignore) added configuration

Note, this feels suboptimal

* Add LineBrace

* Update font_size adjustment in Tex
2025-02-26 07:52:59 -08:00
fbce0b132c Temporary band-aide for degenerate normal vector calculations
This solution is a bit too specific to the case of spheres.
2024-11-25 12:39:32 -07:00
dd51b696e5 Only apply non-flat-stroke correction in non-zero joint angle vertices 2024-11-25 12:35:32 -07:00
9cd6a87ff8 Make sure VMobject uniform flat_stroke matches the use inside the quadratic_bezier/stroke/geom.glsl code 2024-11-25 12:28:31 -07:00
54c8a9014b Add scale_stroke_with_zoom option to VMobject 2024-11-25 11:27:11 -07:00
aaa28a2712 Discard transparent parts of textured surfaces 2024-10-17 12:31:53 -05:00
09e9e65ba4 Merge branch 'master' of github.com:3b1b/manim into video-work 2024-10-01 13:29:42 -05:00
f0bf50eb7f Remove use of gl_VertexID 2024-09-28 09:54:28 -05:00
95fca885c9 Push clip plane functionality up to all Mobjects 2024-09-17 17:20:19 -05:00
6d23df0497 Clean up changes associated with fixing aspect ratio issue 2024-09-06 12:50:19 -05:00
fcc5dc00f9 Treat objects fixed in frame as having flat stroke 2024-08-23 14:17:26 -05:00
5d6a1f30c4 Count joints near 180 degrees as straight 2024-08-23 13:55:10 -05:00
ada66ee8fb Remove stray comment 2024-08-22 15:31:10 -05:00
9a7bfdd1c9 For Surface, calculate normals with neighboring points 2024-08-22 15:21:40 -05:00
bda894959b Keeps stroke width as a function of pixels, independent of zoom level 2024-08-21 16:12:56 -05:00
d870bb29de Fix the non-flat stroke edge case for tangents near line of sight 2024-08-21 16:12:13 -05:00
9a5386b022 Instead of passing in joint_products to stroke shader, just track joint_angles and pass in global unit normal 2024-08-21 11:59:48 -05:00
dfc5f152dd Have border width pre-multiply by alpha, and don't use a separate texture for that border width 2024-08-20 22:03:45 -05:00
82582d08bd Fewer parameters for stroke frag shader 2024-08-20 13:32:52 -05:00
0a313eb119 Reorganize quadratic bezier shader files 2024-08-20 12:58:34 -05:00
5eb5a11499 Don't have absolute stroke width change with frame size (at least temporarily) 2024-08-20 12:36:28 -05:00
0b2c59ac6b More explicitly unpack v_base_normal 2024-08-19 21:45:26 -05:00
c064b11e2a Interleave base_point and unit_normal in the same array 2024-08-19 16:50:49 -05:00
195264f079 Stop pretending to support non-winding fill in the fill shader.
Possibly, if we want to reintroduce it later on, it should have its own dedicated shader, and maybe a distinct Mobject type too
2024-08-19 14:37:11 -05:00
39bcead679 Clean up 2024-08-19 14:22:10 -05:00
3b5d63d2fa Add depth shader to handle winding fill depth test. 2024-08-19 14:09:07 -05:00
24b160f9f9 Update VMobject shader wrapper
Use a combined VBO
Render with TRIANGLE_STRIP, and ignore every other
2024-08-19 08:05:32 -05:00
0267740bde Change STROKE_WIDTH_CONVERSION width back to older value 2024-08-16 15:03:47 -05:00
d8edccdab4 Fix zero stroke width issue 2024-08-16 14:59:18 -05:00
04347e7876 Fix thin stroke issue for low resolutions 2024-08-15 17:11:02 -05:00
a4858918dd Small reformatting 2024-08-08 13:59:50 -07:00
31b6affabb Push up pointwise styling update 2024-08-08 13:56:16 -07:00
cff3bdf8d4 Remove unnecessary flat stroke option 2024-08-08 13:55:48 -07:00
9f54b85c4e Change miter threshold to global constant 2024-08-08 13:55:25 -07:00
c345d76de0 Patch for glitches associated with non-flat stroke when tangency direction lines up with camera view 2024-08-08 11:36:28 -05:00
099aaaee43 Increase polyline factor 2024-08-07 14:46:26 -05:00
70862a068f Don't buff out stroke width by antialias width 2024-08-07 14:46:17 -05:00
f677a02036 Allow for manually setting miter or bevel joints 2024-08-07 14:45:55 -05:00
0a43a3ff9a Remove unnecessary stroke vert input 2024-08-07 14:10:50 -05:00
61a2b4d0da Improve flat stroke for sharp corners with a smooth transition to miter joints 2024-08-07 10:34:47 -05:00
edb438e5e2 Further clean up to stroke shader 2024-08-06 15:45:21 -05:00
ec88673e92 Fix kink issue in flat stroke 2024-08-06 10:41:31 -05:00
a5926195ee Clean up stroke shader 2024-08-05 15:01:02 -05:00
557819ad03 Remove pre-computation of curve points and joint products 2024-08-05 14:25:15 -05:00
f363eaa2fd Add stand in for a ribboning effect 2024-08-05 13:37:34 -05:00
c61c18486c Don't bevel corners on inner joints of quadratic bezier curves 2024-08-05 13:37:17 -05:00
26249c34bb Have non-flat stroke operate based on projecting tangents 2024-08-05 09:15:06 -05:00
b3bbc31ea9 Small clean up to stroke shaders 2024-08-03 08:12:00 -05:00
aea747b6d3 Final refinements on polyline stroke implementations 2024-08-01 07:41:32 -05:00