Jak powiedział TheBuzzSaw, zależy to od wielu rzeczy, w tym od implementacji grafiki rastrowej w porównaniu do grafiki wektorowej.
Oto kilka metod grafiki wektorowej o wysokiej wydajności, które są renderowane przy użyciu tradycyjnych metod rasteryzacji.
Loop i Blinn pokazują, jak renderować kwadratową krzywą beziera grafiki wektorowej, renderując pojedynczy trójkąt i używając współrzędnych tekstury w module cieniującym piksele, aby stwierdzić, czy piksel znajduje się powyżej czy poniżej krzywej:
http: //www.msr-waypoint. net / en-us / um / people / cloop / LoopBlinn05.pdf
Podstawową ideą jest ustawienie trójkątnych pozycji narożnych na 3 pozycje punktu kontrolnego i ustawienie współrzędnych tekstury w każdym narożniku odpowiednio na (0,0), (0,5,0) i (1,1). W module cieniującym, jeśli interpolowana współrzędna tekstury (x * xy) wynosi <0, piksel znajduje się pod krzywą, w przeciwnym razie jest powyżej krzywej.
Możesz zobaczyć fałszywą implementację tego na shadertoy tutaj:
https://www.shadertoy.com/view/4tj3Dy
Jeśli chodzi o drugą metodę, oto metoda z Valve, w której odległości do kształtu są przechowywane w teksturze zamiast danych pikselowych, umożliwiając rysowanie grafiki wektorowej za pomocą próbkowania tekstury. Dekodowanie jest tak proste, że można je zaimplementować nawet na sprzęcie o stałej funkcji za pomocą tylko testu alfa!
http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf
Aby dać ci wyobrażenie o tym, jak dobrze działa druga technika, ten wąsy 1024 x 768 został wygenerowany z obrazu źródłowego 64 x 32, który miał jeden kanał kolorów! (aka nieskompresowany 2 KB)
Napisałem też o tym na swoim blogu:
http://blog.demofox.org/2014/06/30/distance-field-textures/
Oto przykładowy kod OpenCL, który pokazuje, jakie to proste:
float alpha = read_imagef(tex3dIn, g_textureSampler, textureCoords).w;
float3 color = (alpha < 0.5f) ? (float3)(1.0f) : (float3)(0.0f);
Obie te techniki są super szybkie i nieco zacierają granicę między grafiką wektorową i rasteryzowaną. Są renderowane przy użyciu technik rasteryzacji, ale mają właściwości powiększania / skalowania, takie jak techniki grafiki wektorowej.