Jest tu kilka naprawdę dobrych odpowiedzi, więc tylko je uzupełnij.
Główną siłą napędową renderowania oprogramowania jest zdolność. Zostało to poruszone w jednej z odpowiedzi, ale zamierzam przedstawić przeciwny punkt: renderowanie programowe może być w rzeczywistości bardziej wydajne niż renderowanie sprzętowe, nie mniej.
Ze sprzętem jesteś ogólnie ograniczony do możliwości samego sprzętu, chociaż OpenGL dla jednego jest w stanie emulować oprogramowanie wielu rzeczy, które mogą nie istnieć w sprzęcie. Oznacza to, że jeśli spróbujesz użyć Funkcji X, ale sprzęt jej nie obsługuje, nastąpi jedna z dwóch rzeczy: albo wrócisz do emulacji oprogramowania (typowy scenariusz OpenGL), albo nie dostaniesz się do w ogóle go używaj (typowy scenariusz D3D).
Dzięki renderowaniu oprogramowania możesz sam napisać kod. Możesz manipulować rzeczami i mieć pełną kontrolę nad tym, co dzieje się aż do poziomu pikseli. Aby dać przykład wybuchu z przeszłości, Quake zaimplementował w oprogramowaniu programy cieniujące piksele w 1996 roku, w czasie, gdy karty 3D (wtedy nie były nazywane „GPU”) ledwie rasteryzowały kilkadziesiąt teksturowanych trójkątów.
Dotyczy to również obecnych układów GPU, ale nadal istnieją znaczne części potoku graficznego, które są udostępniane jako stała funkcjonalność (lub nawet w ogóle nie są ujawniane).
Renderowanie oprogramowania można lepiej skalować. Dopiero stosunkowo niedawno widzieliśmy, że konfiguracje wielu GPU stają się naprawdę wykonalne, ale oprogramowanie może skalować się na wiele rdzeni procesora na wielu serwerach. Możesz mieć dedykowane do tego całe farmy serwerów, a profesjonalne farmy renderujące nadal będą korzystać z renderowania programowego.
Oprogramowanie może ujawniać różne paradygmaty renderowania. Obecny sprzęt jest bardzo skoncentrowany wokół paradygmatu trójkąt / wierzchołek / fragment / rasteryzacja; chodzi o wybranie jednej rzeczy i zoptymalizowanie jej, aż zacznie krzyczeć o litość. Procesory graficzne są nadal złym wyborem, np. Do śledzenia promieni, które jest częściej wdrażane w oprogramowaniu.
Oczywiście, jeśli chodzi o bezpośrednie porównanie jabłek z jabłkami, GPU pokona oprogramowanie każdego dnia tygodnia - pod warunkiem, że porównamy obszary, w których GPU są silniejsze. Ale to nie znaczy, że są silniejsze w każdej dziedzinie. Mimo to i na potrzeby tej witryny SE korzystanie ze sprzętu jest na ogół dobrym rozwiązaniem, ale należy pamiętać, że istnieją przypadki użycia, w których oprogramowanie jest również opłacalne.