Jak szybko narysować zakrzywiony kształt?
przez „szybko” Zakładam, że należy w jak największym stopniu korzystać ze sprzętu
„zakrzywione” mam na myśli granice zdefiniowane przez kwadratowe lub sześcienne krzywe Beziera
przez „kształt” rozumiem albo „gruby” skok (tj. szerszy niż 1px szerokości) albo parzysty nieparzysty / wypełniony niezerowo „zakrzywiony wielokąt 2D”, ewentualnie z dziurami (tj. literą „O”)
Pytam, ponieważ znane mi opcje mają kilka wad:
triangulowanie kształtu i wysyłanie go do OpenGL - wykonuje najtrudniejszą pracę na procesorze i może wykorzystywać zbyt wiele / kilka trójkątów (tj. marnotrawstwo / zgrubne)
atlas tekstur - musi ponownie obliczyć / załadować teksturę przy każdej zmianie (kształt, skala, obrót, ...)
Podpisane pole odległości - na dużych skalach szczegóły nie wyglądają ładnie lub muszą ponownie obliczyć / załadować teksturę
NV_path_rendering - może tak być, gdyby nie działał tylko na kartach Nvidii
OpenVG - może tak być, gdyby nie działał tylko na urządzeniach mobilnych
?
* Wydaje mi się, że OpenVG nie idzie dokładnie do przodu, delikatnie mówiąc. Czy ktoś wie coś o jego przyszłych perspektywach? Czy w ogóle warto mieć oko na współczesność?
** OpenGL 4+ zapewnia teselację wielokątów w locie. Czy można go w jakiś sposób wykorzystać do udoskonalenia siatki z opcji „triangulacji”, tak aby granica kształtu przynajmniej nie wyglądała „pod kątem”?