İşlemsel içeriği GPU'nun içinde, örneğin demossende oluşturmak popülerdir (ekranı doldurmak için tek bir dörtlü çizmek ve GPU'nun pikselleri hesaplamasına izin vermek).
Ray marching popüler:
Bu, GPU'nun piksel başına bilinmeyen sayıda döngü yinelemesi yürüttüğü anlamına gelir (ancak bir üst sınırınız olabilir maxIterations
).
Değişken uzunlukta bir döngüye sahip olmak gölgelendirici performansını nasıl etkiler?
Basit ışın yürüyen psuedo kodunu hayal edin:
t = 0.f;
while(t < maxDist) {
p = rayStart + rayDir * t;
d = DistanceFunc(p);
t += d;
if(d < epsilon) {
... emit p
return;
}
}
Çeşitli ana akım GPU aileleri (Nvidia, ATI, PowerVR, Mali, Intel, vb.) Nasıl etkilenir? Köşe gölgelendiriciler, ama özellikle parça gölgelendiriciler?
Nasıl optimize edilebilir?