2 ms·
> there are far better ways to handle them I did some research a year ago. Found a few alternatives, yet none of them was good enough. Here's the issues I reme
by Const-me 6y ago
> there are far better ways to handle them
I did some research a year ago. Found a few alternatives, yet none of them was good enough. Here's the issues I remember.
1. It's complicated. Cubic segments can self-intersect or contain singularities.
2. Stroked curves are used a lot. To build stroke edges from the curve, need to offset the curve by half width of the stroke. When you offset a polyline you gonna get another polyline. Yet the offset of Bezier splines is not generally representable as another Bezier spline.
3. In some use cases, hardware-implemented MSAA is the best way of AA. Polygon pipeline gives you that for free. Producing SV_Coverage in pixel shaders to achieve same effect for mid.points of triangle is hard and inefficient.
4. Games have been pushing GPUs for high polygon count for couple decades now, GPUs became really good at that. Also GPUs have early Z rejection that drops pixels or even larger blocks before pixel shader stage. You can't have that if you sending large primitives and computing curves in pixel shaders. Polygon pipeline is not necessarily slower.