In den letzten Tagen ist bei einigen Benutzern ein DirectX-Fehler mit einem dreieckigen roten Streifen aufgetreten. Dieses Problem tritt aufgrund eines Werts von Faktoren auf. Lassen Sie uns einige dieser Arten von unten besprechen.
Genehmigt: Fortect
- 2 Modelle gelesen
Ein dreieckiger Streifen ist ein Satz, der mit Dreiecken verbunden ist, die miteinander verbunden sind. Da die Dreiecke verbunden sind, muss eine brandneue praktische Anwendung nicht für fast jedes Dreieck zwei oder drei Eckpunkte neu spezifizieren. Um dies zu demonstrieren, benötigen Sie nur sieben Scheitelpunkte, die normalerweise auf den nächsten Dreiecksstreifen zeigen.
Das System verwendet die Scheitelpunkte v1, v2 und v3 up, um das erste Dreieck der Person zu zeichnen; v2 als v4, v3 zeichnet das zweite Dreieck; v3 kombiniert, das v4, v5 enthält, um die dritte zu zeichnen; v4, v6, sowie auch v5 zum Ziehen der vierten; sowie so weiter, bzw. Beachten Sie, dass die Scheitelpunkte innerhalb des zweiten und vierten Dreiecks der Reihe nach vorhanden sind; Damit soll sichergestellt werden, dass alle Dreiecke gemeinsam im Uhrzeigersinn verwendet werden.
Die meisten Spanplattenmomente in Objekten bestehen aus dreieckigen Streifen. Tatsächlich können Bänder mit dreieckiger Form verwendet werden. Definieren Sie komplexe Objekte auf eine bestimmte Weise, um Speicher und zusätzlich Verarbeitungszeit effizient zu nutzen. Weiter
Der Code zeigt genau, wie Sie Scheitelpunkte für diesen Baum erstellen. Ein Streifen fossiler Brennstoffe.
Genehmigt: Fortect
Fortect ist das weltweit beliebteste und effektivste PC-Reparaturtool. Millionen von Menschen vertrauen darauf, dass ihre Systeme schnell, reibungslos und fehlerfrei laufen. Mit seiner einfachen Benutzeroberfläche und leistungsstarken Scan-Engine findet und behebt Fortect schnell eine breite Palette von Windows-Problemen - von Systeminstabilität und Sicherheitsproblemen bis hin zu Speicherverwaltung und Leistungsengpässen.
CUSTOMVERTEX-StrukturX, y, unces float;;Scheitelpunkte 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;
Das folgende Codebeispiel zeigt, wie dieses Dreieck definitiv in Direct3D 9 mit IDirect3DDevice9 :: DrawPrimitive gerendert wird.
//// Wir stellen uns vor, dass d3dDevice gültig ist// Zeiger auf die IDirect3DDevice9-Schnittstelle.//d3dDevice-> DrawPrimitive (0, d3dpt_trianglestrip, 4);
Verwenden Sie die besten Dreiecksstreifen, um Dreiecke zu erstellen, die wahrscheinlich nie verbunden sind. Um dies aufzuschreiben, geben Sie ein Wendedreieck (das ein Nullsegmentdreieck sein sollte) um die Dreiecksliste herum an. Dadurch wird eine Abhängigkeitslinie zwischen den beiden Dreiecken erstellt, die nicht unerwartet angezeigt wird. Um nur das früheste und letzte Dreieck aus dem vorherigen Beispiel anzuzeigen, verbessern Sie den Scheitelpunktpuffer wie hier gezeigt:
CUSTOMVERTEX = Scheitelpunkte [] -5.0, -5.0, Null. 0, 0.0, 5.0, 0.0, 5.0, -5.0, 0, 0, 5.0, -5.0, 0.0, entartet // Dreieck 10.0, 5.0, 0.0, entartet // Dreieck 10.0, 5.0, 0.0, 15,0, -5,0, 0,0, 20,0, 5,0, 0,0;
- 2 Minuten . lesen.
Direct3D und in Zukunft unterstützen mehrere Basistypen (oder Topologien), die typischerweise als Ergebnis des Aufzählungstyps D3D_PRIMITIVE_TOPOLOGY dargestellt werden. Diese Arten von Vertex-Wettbewerben werden vom Förderband interpretiert und angezeigt.
- Basic Primitive tritt ein
- primitives Viertel
- Zusätzlicher Rotationszweck, Kopf-Scheitelpunktposition
- Generiere mehrere Streifen
- Verwandtes Thema
Grundlegende primitive Typen
Für die tatsächliche Darstellung jeder primitiven Klassifizierung siehe das Diagramm unten in diesem Abschnitt direkt auf Wicklung Richtung und Erhalten von Scheitelpunktpositionen .
Der Input-Assembler-Anliegen liest Daten aus den Vertex-Indexpuffern, verkettet die Hauptdaten in diese Primitive und sendet dann Daten an die Stufen der Conveyor-Visualisierung. (Sie können sicherlich die meisten ID3D11DeviceContext :: IASetPrimitiveTopology -Methoden verwenden, um häufig den altmodischen Typ für die Position der Adjacency-Eingabeassembly anzugeben
Alle)
Primitive Typen Direct3D 10 und höher (mit Ausnahme der Themenliste) sind in zwei Versionen verfügbar: Einfacher Typ mit Nachbarn und primitiver Typ ohne Nachbarn. Nachbarschafts-Primitive enthalten einige der umgebenden Scheitelpunkte, während Nicht-Nachbar-Primitive nur die Scheitelpunkte dieses Ziel-Primitives enthalten. Beispiel: Das String-Katalog-Primitive (dargestellt durch den D3D_PRIMITIVE_TOPOLOGY_LINELIST-Wert) hat ein übereinstimmendes String-Listen-Primitive, das die Nachbarschaft einschließt (dargestellt durch den D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ-Wert).
Benachbarte Primitive können zusätzliche Informationen über Ihre Geometrie liefern und sind nur mit dem Geometrie-Shader sichtbar. Adjacency ist nützlich für Geometrie-Shader, die Silhouette-Erkennung, Dark-Volume-Extrusion usw. verwenden.
Sie können beispielsweise ein Dreieck mit einem Viertel zeichnen. Eine dreieckige Liste mit 36 Vertices (mit Nachbarn Ohm) wird eine erschwingliche Pause mit geschlossenen Primitiven geben. Adjazenz-Primitive (außer Typstreifen) enthalten genau doppelt so viele Scheitelpunkte wie das Nicht-Nachbarschafts-Primitive-Äquivalent, wobei jeder zusätzliche Scheitelpunkt ein benachbarter Scheitelpunkt ist.
Wickelrichtung und Kopfposition
Wie in der folgenden Abbildung gezeigt, ist der Kopfscheitel der erste nicht zusammenhängende Scheitel der alten Person. Primitive Ein Typ kann mehrere charakteristische Linien von Kardinalitäts-Scheitelpunkten haben, wenn jeder für ein neues Primitiv verwendet wird. Bei einem funktionalen dreieckigen Band mit der Nachbarschaft sind die oberen Scheitelpunkte 0, 2, 10, 6 usw. Bei einem linearen Streifen, der die Nachbarschaft berücksichtigt, sind die Enden dieser Scheitelpunkte 1, gerade, 3 usw. Auf oft im Gegenteil, der andere benachbarte altmodische hat rational keinen Scheitel …
Die folgende Abbildung zeigt die Erfassung von Scheitelpunkten für alle Typen in Bezug auf Primitive, die ein Eingabeassembler erzeugen kann. Symbole
Alle obigen Abbildungen sind in der folgenden Tabelle aufgeführt.
Erstellung mehrerer Bänder
Sie können mehrere Zahnaufhellungsstreifen erstellen, indem Sie die Streifen schneiden. Sie können eine Kerbe formatieren, indem Sie explizit aufrufen, indem Sie die HLSL-Funktion RestartStrip verwenden oder einen ungewöhnlichen Indexwert in den Indexstream einfügen. Der Wert ist -1, was wahrscheinlich 0xffffffff ist, um 32-Bit-Indizes zu erhalten, oder 0xffff für 16-Bit-Indizes. Index -1 zeigt ein fantastisches “Shutdown” oder “Restart” in Bezug auf den Strom dieser Bänder an. Zurück
Beschleunigen Sie jetzt die Leistung Ihres Computers mit diesem einfachen Download.
Ein kreisförmiger Club ist eine Reihe verbundener Dreiecke eines schönen dreieckigen Netzes, die Scheitelpunkte teilen, um den Computergrafikspeicher viel effizienter zu nutzen. Sie sind tatsächlich effizienter als nicht indizierte Dreieckslisten, beinhalten aber normalerweise genauso natürliche oder langsamere als gefundene Dreieckslisten.
Triangle Fan ist ein primitives 3D-Infografik-Bild, das Ihnen Speicherplatz und Bearbeitungszeit spart. Es beschreibt einen Satz, der verbundene Dreiecke verwendet, in denen sie einen gemeinsamen Basisscheitelpunkt haben (im Gegensatz zu einem dreieckigen Streifen, der derzeit den zweiten aller Scheitelpunkte mit den letzten beiden verwendeten Scheitelpunkten verbindet – bildet ein Dreieck).
glStart (GL_TRIANGLES); glColor3f (0,1, 0,2, 0, 3); glVertex3f (0, 0, 0); glVertex3f (1, 0, 0); glVertex3f (0, 1, 0); glEnd (); Dies gibt jemandem tote, unbeleuchtete, unstrukturierte schattierte Dreiecke. Sie können auch Dreiecke, Quadrate und Polygone auswählen, indem Sie den an glBegin übergebenen Wert drastisch ändern.