- mer. 30 sept. 2020 13:35
#204508
Je me demandais ... Prenons un jeu qui n'est pas un monde ouvert. Peut-être un niveau dans Counter Strike: Global Offensive. Étant donné que le moteur source ne prend pas en charge le streaming, je suppose que des niveaux entiers sont chargés en mémoire. Voici ma première question:
Cela signifie-t-il généralement charger également tout le niveau dans la mémoire du GPU? Ou le contenu du tampon est-il remplacé en fonction de ce qui sera visible dans la ou les images suivantes?
Si tout le niveau est chargé dans la mémoire du GPU, pourrions-nous théoriquement faire tout ce qui concerne le dessin sur le GPU? Voir ci-dessous...
Si nous avons toutes les données possibles sur le GPU dans des tampons, nous pourrions utiliser des shaders de calcul pour déterminer les indices, les décalages, les foulées, etc. dans ces tampons. Donc, fondamentalement, nous avons des tampons de données et des tampons d'index. Les tampons d'index sont écrits par le GPU dans un ou plusieurs shaders de calcul, et sont utilisés pour indexer les tampons de données qui sont utilisés pour le rendu. Je suppose que nous pouvons également faire de l'abattage par occlusion sur le GPU, et bien sûr également de l'abattage frustum.
Serait-ce une technique utile? Ou est-ce que cela donnerait peu de gains de performances par rapport au fait de le faire simplement sur le processeur?
Cela signifie-t-il généralement charger également tout le niveau dans la mémoire du GPU? Ou le contenu du tampon est-il remplacé en fonction de ce qui sera visible dans la ou les images suivantes?
Si tout le niveau est chargé dans la mémoire du GPU, pourrions-nous théoriquement faire tout ce qui concerne le dessin sur le GPU? Voir ci-dessous...
Si nous avons toutes les données possibles sur le GPU dans des tampons, nous pourrions utiliser des shaders de calcul pour déterminer les indices, les décalages, les foulées, etc. dans ces tampons. Donc, fondamentalement, nous avons des tampons de données et des tampons d'index. Les tampons d'index sont écrits par le GPU dans un ou plusieurs shaders de calcul, et sont utilisés pour indexer les tampons de données qui sont utilisés pour le rendu. Je suppose que nous pouvons également faire de l'abattage par occlusion sur le GPU, et bien sûr également de l'abattage frustum.
Serait-ce une technique utile? Ou est-ce que cela donnerait peu de gains de performances par rapport au fait de le faire simplement sur le processeur?