Si vous recevez une erreur Directx 10 Geometry Shader, ce tutoriel est là pour vous guider.
Approuvé : Fortect
Le Geometry Shader est le dernier ajout aux API DX10 qui donne aux développeurs la possibilité de créer une géométrie entièrement nouvelle en plus de perturber la géométrie existante à l’aide de matériel de conception graphique, permettant des effets plus complexes comme des explosions, une expansion réaliste, une décomposition (nouvel ajout). acheté des effets ici :-)), pas mal. sans redémarrer la grille principale.
Que se passe-t-il dans certains de l’étape de shader de géométrie dans DirectX ?
L’étape Geometry Shader (GS) exécute complètement le code de shader ajouté avec les sommets utilisés comme entrées pour fournir comment la capacité de génération de sommets mentionnée dans le rôle de productivité.
Ce tutoriel couvre toutes les bases de la consommation de l’espace de shader de géométrie disponible dans DX10 +. Niveau géométriqueIl est considéré comme extrêmement utile pour fournir des sprites, des panneaux d’affichage et des systèmes de particules. Il s’agit de la première page d’une série en trois parties qui devrait se concentrer sur les shaders géométriques des panneaux d’affichage et les applications de blocage.
Quand utiliser SV _ rendertargetarrayindex En géométrie ?
L’index du tableau cible du conseil. S’applique à la sortie d’un shader de géométrie spécifique et spécifie la tranche de collecteur d’une cible de rendu sur laquelle le shader de pixel prend la primitive. SV_RenderTargetArrayIndex n’est généralement actuel que lorsque la cible de rendu est considérée comme une ressource d’assortiment.
L’étape de shader de géométrie a été introduite sur DX10, et les gens ont d’abord pensé qu’elle devrait être plus utile à des fins de tessellation (ce qui devrait en effet être vrai), mais plus utile pour utiliser avec les technologies de particules et le rendu de sprite. L’étape de géométrie se situe entre le sommet en combinaison avec les étapes du pixel shader, et sa pratique principale est de configurer de nouvelles primitives loin d’eux.
Comment réparer Erreur 193 ?
Pour résumer, les sommets sont envoyés à ce vertex shader particulier dans un vertex buffer stocké dans leur GPU. Un appel glisser-déposer effectué dans l’API envoie tout type de bouclier de vertex au pipeline. Chaque vertex va d’abord vous aider dans un vertex shader, où ils sont transformés par rapport aux besoins, et les données de vertex du chien sont adaptées (au besoin). Une fois que les sommets ont été traités et renvoyés par ce vertex shader, ils sont réunis en primitives dans la configuration stepprimitive de cette API. Le type de primitive initialement créée à partir des sommets traversant le sommet d’un obstacle dépendra de la topologie spécifiée de l’ancienne (points, lignes et triangles). en pixels) avant de saisir leur niveau de pixel shader et d’être finalement extraits à l’écran.
Le Geometric Shader (GS) est un très bon composant de shader supplémentaire qui combine un vertex shader et des primitives de pièce d’assemblage, ou simplement des couches de pixel shader supplémentaires dans les sommets du milieu (dans un vue de niveau). les primitives qui quittent incontestablement le vertex shader entrent dans la phase de construction médiévale, qu’elles déplacent instantanément vers une phase d’expérience d’écran spécifique (Figure 1a). Lorsque GS est présent, les sommets sont incontestablement initialement envoyés du sommet au shader GS avant que l’assemblage de la primitive ne soit terminé. GS accepte la primitive complètement nouvelle en entrée, une toute entière ; représente le nombre de sommets que GS reçoit d’un vertex shader, déterminé par un ensemble significatif de topologie primitive. Si notre topologie est effectivement définie sur des points, GS ne prendra que le sommet, en même temps inTime GS est capable d’accepter 2 ou 3 sommets pour des lignes mais des triangles. GS utilise ensuite les données de sommet accompagnées des primitives d’entrée pour créer un nouveau tri, dont les sommets forment exactement les nouvelles primitives. Ces sommets nouvellement inventés sont générés par le GS sous la forme d’un flux de sommets et envoyés en tant que primitive au stade de la construction avant et finalement en passant par le pipeline (Figure 1b). Ainsi, GS prend la primitive entière en entrée et génère des primitives entières sous forme de liste de sommets.
Maintenant, il ne semble pas très intéressant d’envoyer des primitives à GS avant tout pour la sortie, mais comme GS peut sortir de nombreuses primitives à partir d’une seule primitive, cela devient un peu plus utile. Cela signifie que nous pouvons placer un autre élément dans le GS pour obtenir 4 triangles (ce qui est votre base pour reconstituer une tessellation de base avec un shader définitivement géométrique, jetez un coup d’œil à la figure 2). Dans GS, il ne devrait y avoir aucune corrélation entre la primitive d’entrée et toutes les primitives de sortie, vous pouvez donc simplement mettre la chaîne d’une personne à côté des triangles de sortie. Dans ce genre p Dans le didacticiel, nous explorons généralement la possibilité d’essayer For gs lors du rendu de sprites, car il s’agit simplement d’un exemple simple pour démontrer les avantages concernant GS. Un sprite est un quadrilatère inégal en deux dimensions qui s’affiche à l’emplacement actuel de l’écran (espace de clip sans couture) afin que le logiciel puisse toujours être aligné sur l’écran. Les sprites sont en règle générale utilisés lors du rendu des jeux sous forme de texte, de curseurs, sans parler d’une interface graphique.
Approuvé : Fortect
Fortect est l'outil de réparation de PC le plus populaire et le plus efficace au monde. Des millions de personnes lui font confiance pour assurer le fonctionnement rapide, fluide et sans erreur de leurs systèmes. Avec son interface utilisateur simple et son puissant moteur d'analyse, Fortect détecte et corrige rapidement un large éventail de problèmes Windows, de l'instabilité du système et des problèmes de sécurité à la gestion de la mémoire et aux goulots d'étranglement des performances.
Alors parlons un peu des sprites avant de passer au shader même de la géométrie. Mentionné parce que chaque sprite est certainement un quad texturé. Les sprites de tailles et de positions différentes sont généralement contrôlés par des ensembles spécifiques pointant vers des valeurs, la position du point d’ancrage et les dimensions des sprites. L’idée d’une ancre est un point sur votre sprite, qui à son tour est utilisé pour le positionner enfin, et une taille spécifique fait référence à la taille et à la taille du sprite. Le point d’ancrage le plus couramment utilisé pour les sprites est juste le sommet en haut à gauche, comme un quadrilatère (voir la figure 3a). Ainsi, pour leurs spwrists les plus élémentaires, nous, les humains, avons besoin de deux ensembles de valeurs, combinés avec des sprites de rendu dans l’espace écran, ces regards sont bidimensionnels (x, y) et exécutés en p. Par exemple, si nous voulons une bannière qui a une taille de 200 × 100 pixels en arrière au milieu de notre ensemble de 768 × 768. Le point de vis sera de 412 p, à 0 pixel en largeur et dont la hauteur sera de 200 pixels ou 100 pixels. La plupart des sprites créent généralement des propriétés supplémentaires telles qu’une marque d’opacité dans les ensembles a et z (pseudo valeur de profondeur). De cette façon, le développement de base du sprite peut être défini, comme le montre la figure 3b. Maintenant, cela devrait être pensé car, comme vous vous en souvenez, j’ai dit que les sprites spécifiques sont positionnés pour implémenter des valeurs de pixels, la personne était en fait située dans l’espace de clip), mais beaucoup d’entre nous en parlent plus tard. Pour l’instant, gardez à l’esprit que les coordonnées finales qui essaieront d’être envoyées au pipeline sont nécessaires pour un espace de découpage constant. Alors
Comment puis-je corriger L’erreur 193 %1 est vraiment une application Win32 valide ?
Bon, motivons-nous correctement pour rétablir cette structure. Habituellement, nous avons probablement besoin de deux triangles pour créer un autre quadrilatère a, utilisez-le en créant des rayures triangulaires pour réduire notre propre nombre réel de sommets nécessaires. Encore une fois, cela implique que nous devons rendre les quatrièmes sommets pour chaque sprite. Chaque sommet contient la position par rapport à l’espace de découpage 2D ; 2. Les coordonnées de texture et les propriétés de sprite les plus importantes, telles que l’opacité et l’ordre z. En supposant que des nombres à virgule flottante soient utilisés, chaque sommet utilisera presque certainement 28 octets de mémoire, et chaque sprite individuel aura absolument besoin de 96 octets de mémoire. Ainsi, l’interface graphique moyenne aura de nombreux sprites, mais disons que l’interface graphique moyenne utilise généralement 100 sprites. Cela signifie que chaque trame de l’interface graphique peut contenir 9,375 Ko afin de pouvoir importer plusieurs fois le GPU du processeur. Le transfert de données sur le bus PCIE est extrêmement lent, donc une quantité de données plus lente placée par le framework contribuera à améliorer les performances. Bien sûr, 9 Ko n’est pas digne de confiance, mais considérez un fait que les experts prétendent que les systèmes Les particules sont souvent rendues avec des symboles (qui sont comme des sprites, dont ils ne sont que des quads texturés) et des quads. « Un émetteur composé peut être responsable de cela. un petit nombre fabuleux peut être un millier de particules. Dans de bonnes circonstances, les frais de stockage s’additionnent. De plus, cet outil coûte beaucoup d’argent pour créer des sommets pharmaceutiques dans le cadre pour chaque sprite autour du processeur.
Maintenant que nous savons que notre équipe peut développer de nouvelles primitives à partir des éléments couramment trouvés dans GS, nous pouvons les utiliser à votre avantage et faire du rectangle intérieur la limite GS. Maintenant, idéalement, nous aimerions simplement envoyer notre structure de sprite directement à GS et rendre les doubles triangles. Eh bien, vous vous rendez compte de ces choses, nous pouvons le faire ! Les sommets doivent être des structures, nous allons donc mettre en place un sommet pour chaque structure de sprite qui sera, sans aucun doute, rempli de toutes les spécificités requises pour les sprites. Quelle utilisation de la transmission de données doit-on distribuer à certains GS ? Eh bien, juste l’utilisation de la colonne vertébrale, les dimensions et toutes les propriétés du sprite même. Les coordonnées de texture mGS peuvent être calculées et peuvent être publiées ultérieurement. Nos sprites devraient maintenant être de 24 octets (75% de réduction !!).
Mais comment réintégrer de tels sommets dans le pipeline afin que GS soit le meilleur pour récupérer les données d’un sprite spécifique ? Alors, quelle primitive sur Terre utilise définitivement un sommet ? Point. Si nous créons une charge de sommet fabuleuse contenant des données de sprite et l’envoyons au pipeline en tant que représentant de point
Accélérez les performances de votre ordinateur dès maintenant avec ce simple téléchargement.