Au cours des derniers jours, la plupart des utilisateurs ont rencontré une erreur de bande triangulaire directx. Ce problème se produit en raison d’un certain nombre de spécificités. Discutons de certains d’entre eux ci-dessous.
Approuvé : Fortect
- lecture des modèles de la deuxième étape
Une bande de forme triangulaire est un ensemble de triangles reliés côte à côte. Étant donné que les triangles sont connectés, une application financière pratique n’a pas besoin de re-spécifier trois sommets pour presque chaque triangle. Pour démontrer cela, vous avez juste besoin de sept sommets pointant vers la prochaine bande de forme triangulaire.
Le système utilise les sommets v1, v2 et v3 pour dessiner la majeure partie du premier triangle de la personne ; v2 et v4, v3 fait glisser le deuxième triangle ; v3 combiné avec v4, v5 qui aidera à dessiner le troisième; v4, v6, et de plus , v5 pour dessiner le quatrième ; et ainsi de suite, respectivement. Notez que les sommets entre le deuxième et le quatrième triangle sont dans l’ordre ; Cela peut être pour s’assurer que tous les triangles sont utilisés dans le sens des aiguilles d’une montre.
La plupart des scènes en aggloméré sont constituées de rayures triangulaires. En effet, des rubans triangulaires peuvent être utilisés. Définissez des objets complexes de différentes manières pour utiliser efficacement la mémoire et le calendrier de traitement. Suivant
Le code montre comment fabriquer des sommets pour cet arbre Une bande de charbon.
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.
structure CUSTOMVERTEXX, y, z flottant ;;Sommets CUSTOMVERTEX [] = -5,0, -5,0, 0, 0, 0.0, 5.0, 0.0, 5,0, -5,0, 0,0, 10.0, 5.0, 0.0, 15,0, -5,0, 0,0, 20,0, 5,0, 0,0;
L’exemple de code html suivant montre comment ce triangle est rendu pendant que Direct3D 9 utilise IDirect3DDevice9 :: DrawPrimitive .
//// Nous supposons que d3dDevice est vraiment valide// Pointeur vers l'interface IDirect3DDevice9.//d3dDevice-> DrawPrimitive (0, d3dpt_trianglestrip, 4);
Utilisez les meilleures rayures triangulaires pour créer des triangles qui ne sont probablement pas connectés. Pour écrire cela, spécifiez un triangle dégénéré (qui devrait être un triangle de zone zéro) autour de la liste de triangles particulière. Cela crée une ligne de confiance reliant les deux triangles qui est peu susceptible d’être souvent affichée. Pour afficher uniquement les premier et dernier triangles de l’exemple précédent, modifiez une partie du vertex buffer comme indiqué ici :
CUSTOMVERTEX = Sommets [] -5,0, -5,0, zéro. 0, 0.0, 5.0, 0.0, 5,0, -5,0, 0, 0, 5.0, -5.0, 0.0, dégénéré // triangle 10.0, 5.0, 0.0, dégénéré // triangle 10.0, 5.0, 0.0, 15,0, -5,0, 0,0, 20,0, 5,0, 0,0;
- 2 minutes pour pouvoir lire.
Direct3D et versions ultérieures prennent en charge de nombreux types de types de base (ou topologies), qui sont représentés comme le résultat du type d’énumération D3D_PRIMITIVE_TOPOLOGY . Ces types de croquis de sommets sont compris et affichés par le convoyeur.
- Types primitifs de base
- Quartier primitif
- Sens de rotation supplémentaire, position du sommet du cou
- Générer plusieurs bandes
- Sujet connexe
Types primitifs de base
Pour incontestablement le rendu réel de chaque type primitif, voir actuellement le schéma ci-dessous dans cette section sur enroulement possibilités de direction et de sommet de départ .
Le facteur assembleur d’entrée lit les statistiques à partir des tampons d’index de sommet, concatène les rapports dans ces primitives, puis envoie les données pour vous aux étapes de visualisation du convoyeur. (Vous pouvez utiliser la plupart des méthodes ID3D11DeviceContext :: IASetPrimitiveTopology pour spécifier souvent le type primitif pour de nombreux niveaux d’assemblage d’entrée Adjacency
Tous)
Les types primitifs Direct3D 10 et versions ultérieures (à l’exception de la liste des sujets) sont disponibles en deux versions : type simple avec voisins et types primitifs sans voisins. Les primitives de voisinage incluent certains des sommets environnants, tandis que les primitives non voisines ne contiennent que les sommets de cette primitive cible. Exemple : la primitive de catalogue de chaînes (représentée par la valeur D3D_PRIMITIVE_TOPOLOGY_LINELIST) a une primitive de liste de chaînes correspondante qui inclura la contiguïté (représentée par la valeur D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ).
Les primitives adjacentes peuvent fournir des informations supplémentaires sur votre géométrie et ne sont visibles qu’avec le shader de géométrie. La contiguïté est utile pour les shaders de géométrie qui utilisent la détection de silhouette, l’extrusion de volume sombre, etc.
Par exemple, vous pouvez dessiner un triangle avec un quart. Une liste triangulaire contenant trente-sept sommets (avec Neighborsohm), donnera un repos abordable avec des primitives fermées. Les primitives d’adjacence (autres que les rayures de type) contiennent exactement deux fois plus de sommets que l’équivalent primitif sans adjacence, où chaque sommet supplémentaire est un sommet adjacent.
Direction d’enroulement et position de la tête
Comme le montre la figure ci-dessous, le sommet de la tête est considéré comme le sommet principal non contigu de l’ancien. Primitives Un type peut évidemment avoir plusieurs sommets de cardinalité distincts si chacun est utilisé pour une primitive différente. Pour une bande triangulaire fonctionnelle avec une contiguïté, ces sommets supérieurs sont 0, 2, 4, 6, et ainsi de suite. Pour une bande linéaire qui prend en compte le voisinage, les extrémités des sommets pourraient être 1, paire, 3, etc. Au contraire, toute l’autre à l’ancienne voisine n’a pratiquement que le sommet…
La figure suivante montre l’acquisition de sommets pour tous les types de primitives qu’un assembleur d’entrée peut à son tour produire. Symboles
Toutes les illustrations ci-dessus sont décrites dans mon tableau ci-dessous.
Création de plusieurs groupes
Vous pouvez créer plusieurs bandes de blanchiment en coupant les bandes. Vous pouvez couper une étape en appelant explicitement à l’aide de la fonction HLSL RestartStrip ou en insérant une valeur de pointeur inhabituelle dans le flux d’index. La valeur est simplement -1, ce qui est probablement 0xffffffff pour les index 32 bits ou 0xffff pour les index 16 bits. L’indice -1 représente un “arrêt” ou un “redémarrage” fantastique de la banque de ces bandes. Précédent
Accélérez les performances de votre ordinateur dès maintenant avec ce simple téléchargement.
Une barre circulaire est une nouvelle série de triangles connectés d’un maillage triangulaire fin qui partagent des sommets pour rendre plus efficace le besoin de mémoire graphique informatique. Elles sont plus pratiques que les listes triangulaires non indexées, mais sont généralement aussi naturelles ou plus lentes que les listes de formes triangulaires indexées.
Triangle Fan est chaque image infographique 3D primitive qui économise de l’espace de stockage et économise également du temps de traitement. Il décrit un théorème réel qui utilise des triangles connectés qui partagent un sommet de base commun majeur (par opposition à une bande de forme triangulaire, qui relie actuellement le sommet suivant ayant les deux derniers sommets utilisés pour former votre propre triangle).
glStart (GL_TRIANGLES); glCouleur3f (0,1, 0,2, 0, 3); glVertex3f (0, 0, 0); glVertex3f (1, 0, 0); glVertex3f (0, 1, 0); glFin (); Cela donne à quelqu’un des triangles ombragés plats, non éclairés et non structurés. Vous pouvez également saisir des triangles, des carrés et des polygones en modifiant considérablement la valeur que quelqu’un passe à glBegin.