Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden von Effektpools
Es ist üblich, dass Pipelines gerendert werden, um viele Shader zum Rendern verschiedener Objekttypen und Spezialeffekte zu verwenden. Der Shader ist eine Mischung aus Zuständen, die von allen Shadern wie einer Weltmatrix oder einer Lichtposition und einem anderen Zustand verwendet werden, der für jeden Shader spezifisch ist, z. B. die diffuse Farbe eines Objekts oder glanzliche Hervorhebungsberechnung. Ein Effektpool ist ein Ort im Arbeitsspeicher zum Speichern des Zustands, der für viele Shader verwendet wird, sowie allgemeine Geräteobjekte wie Shader, Renderzustandsobjekte und Konstantenpuffer. Die Leistungsverbesserung führt dazu, dass der gemeinsame Zustand einmal für alle Shader aktualisiert wird, die diesen Zustand benötigen.
Ein Effektpool ist ein gemeinsam genutzter Speicherspeicherort für den Effektstatus. Ein Pool wird ähnlich wie ein Effekt erstellt; sie kann aus dem Arbeitsspeicher (oder einer Datei oder Ressource) erstellt werden. Dies führt zu zwei verschiedenen Arten von Effekten: ein globaler Effekt, der nicht vom Zustand in anderen Effekten abhängt, im Gegensatz zu einem untergeordneten Effekt, der vom Zustand in einem anderen Effekt abhängt.
Sie geben an, ob es sich bei einem Effekt um einen globalen Effekt (Standardfall) oder um einen untergeordneten Effekt (durch Angabe des D3D10_EFFECT_COMPILE_CHILD_EFFECT-Flags) handelt, wenn der Effekt erstellt wird. Ein globaler Effekt kann als Effektpool dienen; Ein untergeordneter Effekt kann kein Effektpool sein.
Verwandte Themen