Udostępnij przez


Zagadnienia dotyczące wydajności (Direct3D 10)

Korzystanie z pul efektów

Potoki renderowania często używają wielu cieniowania do renderowania różnych typów obiektów i efektów specjalnych. Cieniowanie to mieszanka stanów, które są wspólne dla wszystkich cieniatorów, takich jak macierz świata lub położenie światła, oraz inny stan specyficzny dla każdego cieniatora, takiego jak kolor rozproszony obiektu, lub obliczenie wyróżnienia widmowego. Pula efektów jest miejscem w pamięci do przechowywania stanu używanego w wielu cieniowaniach, a także typowych obiektów urządzeń, takich jak cieniowanie, obiekty stanu renderowania i stałe. Poprawa wydajności wynika z aktualizacji wspólnego stanu raz dla wszystkich cieniujących, które wymagają tego stanu.

Pula efektu jest lokalizacją pamięci współużytkowanej dla stanu efektu. Pula jest tworzona podobnie do efektu; Można go utworzyć na podstawie pamięci (lub pliku lub zasobu). Prowadzi to do dwóch różnych typów efektów: efekt globalny, który nie zależy od stanu w innym wpływie, a efekt podrzędny, który zależy od stanu w innym efekcie.

Określasz, czy efekt jest efektem globalnym (przypadek domyślny) czy efektem podrzędnym (przez podanie flagi D3D10_EFFECT_COMPILE_CHILD_EFFECT) podczas tworzenia efektu. Efekt globalny może służyć jako pula efektów; efekt podrzędny nie może być pulą efektów.

renderowanie efektu

efekty (Direct3D 10)