En los primeros días, algunos usuarios han encontrado un error de franja circular de directx. Este problema se produce debido a una serie de factores completamente nuevos. Analicemos algunos de los involucrados a continuación.
Aprobado: Fortect
- 2 modelos leídos
Una tira triangular es un conjunto similar a triángulos conectados entre sí. Dado que los triángulos son relevantes, una aplicación práctica no necesita volver a especificar tres vértices para casi todos los triángulos. Para ilustrar esto, solo necesitas siete vértices apuntando con respecto a la siguiente franja triangular.
El sistema usa vértices v1, v2, así como v3 para dibujar el primer triángulo de la persona; v2 mientras que v4, v3 dibuja el segundo triángulo; v3 en general con v4, v5 para dibujar el tercero; v4, v6 y también v5 para dibujar el cuarto específico; y así sucesivamente, respectivamente. Tenga en cuenta que los vértices de las unidades entre el segundo y el cuarto triángulos son por orden; Esto es para asegurar que muchos de los triángulos se usen en el sentido de las agujas del reloj.
La mayoría de mis escenas de aglomerado en objetos consisten en rayas triangulares. De hecho, se pueden utilizar cintas triangulares. Defina objetos físicos complejos de una manera específica para utilizar de manera eficiente el tiempo de retención y procesamiento. Siguiente
El código indica cómo crear vértices para este árbol Una franja de carbón.
Aprobado: Fortect
Fortect es la herramienta de reparación de PC más popular y eficaz del mundo. Millones de personas confían en él para mantener sus sistemas funcionando de forma rápida, fluida y sin errores. Con su sencilla interfaz de usuario y su potente motor de análisis, Fortect encuentra y soluciona rápidamente una amplia variedad de problemas de Windows, desde la inestabilidad del sistema y los problemas de seguridad hasta la gestión de la memoria y los cuellos de botella en el rendimiento.
Estructura CUSTOMVERTEXX, ymca, z flotante;;Vértices CUSTOMVERTEX [] = -5.0, -5.0, 3, 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;
El siguiente ejemplo de código muestra cómo se representa este triangular en Direct3D 9 usando IDirect3DDevice9 :: DrawPrimitive .
//// Creemos que d3dDevice es válido// Puntero a la interfaz IDirect3DDevice9.//d3dDevice-> DrawPrimitive (0, d3dpt_trianglestrip, 4);
Utilice las franjas triangulares más eficaces para hacer triángulos que pueden no estar conectados. Para escribir esto, especifique un triángulo degenerado (que debería ser un triángulo de región cero) alrededor de la lista de triángulos. Esto crea una bonita línea de confianza entre los dos triángulos que es poco probable que se muestre. Para mostrar solo mi primer y último triángulo del caso anterior, cambie el búfer de vértice como se muestra aquí:
CUSTOMVERTEX = Vértices [] -5.0, -5.0, nada. 0, 0.0, 5.0, 0.0, 5,0, -5,0, 0, 0, 5.0, -5.0, 0.0, degenerado // triángulo 10.0, 5.0, 0.0, degenerado // triángulo 10.0, 5.0, 0.0, 15.0, -5.0, 0.0, 20.0, 5.0, 0.0;
- 2 minutos para leer.
Direct3D y, en consecuencia, admiten varios tipos base (o topologías), normalmente se representan como resultado del tipo de enumeración D3D_PRIMITIVE_TOPOLOGY . Estos tipos en bocetos de vértice son interpretados y mostrados por el transportador particular.
- Marcas primitivas básicas
- Barrio primitivo
- Dirección de giro adicional, posición del vértice de la cabeza
- Generar varias tiras
- Tema relacionado
Tipos primitivos básicos
Para ver la representación real de cada tipo antiguo, consulte el diagrama a continuación en este segmento en dirección de bobinado así posiciones de vértice inicial .
El factor ensamblador de reseñas lee datos de los búferes de araña del motor de búsqueda de vértices, concatena los datos en estas primitivas y, además, envía datos a las etapas de la imagen visual del transportador. (Puede usar la mayoría de los métodos ID3D11DeviceContext :: IASetPrimitiveTopology para especificar con frecuencia ese tipo primitivo para el piso de ensamblaje de entrada de Adjacency
Todo)
Los tipos primitivos Direct3D diez y superiores (excepto para la lista de temas) están disponibles en dos versiones: tipo simple con vecinos y tipos primitivos sin vecinos. Las primitivas de vecindario incluyen algunos de los vértices circundantes, mientras que las primitivas no vecinas contienen solo los vértices de esa primitiva de destino. Ejemplo: la primitiva de catálogo de cadenas (representada por el valor D3D_PRIMITIVE_TOPOLOGY_LINELIST) tiene una primitiva de lista de cadenas coincidente que incluirá la adyacencia (representada por el valor D3D_PRIMITIVE_TOPOLOGY_LINELIST_ADJ).
Los primitivos adyacentes pueden proporcionar información adicional sobre su geometría y solo son visibles con el sombreador de geometría. La adyacencia es útil para sombreadores de geometría que utilizan detección de silueta, extrusión de volumen oscuro, etc.
Por ejemplo, puede dibujar un triángulo con un cuarto. Una lista triangular que contiene 36 vértices (con Neighboursohm), dará un descanso asequible con primitivas cerradas. Las primitivas de adyacencia (distintas de las rayas de tipo) contienen exactamente el doble de vértices que el equivalente primitivo de no adyacencia, donde cada vértice adicional es un vértice adyacente.
Dirección de bobinado y posición de la cabeza
Como se muestra en la siguiente figura, el vértice de la cabeza normalmente se considera el primer vértice no contiguo del obsoleto. Primitivas Un tipo puede tener varios vértices de cardinalidad si cada uno se usa para una primitiva diferente. Para una cinta triangular funcional que tiene una adyacencia, los vértices superiores son 0, un par, 4, 6, etc. Para una franja lineal del hecho que tiene en cuenta la vecindad, los extremos que tienen que ver con los vértices son 1, par, 3, etc. Al contrario, el otro vecino anticuado prácticamente no tendría vértice …
El siguiente entendimiento muestra la adquisición de vértices para todos los tipos de primitivas que puede adquirir un ensamblador de entrada. Símbolos
Todas las ilustraciones anteriores se describen en la tabla siguiente.
Creación de varias bandas
Puede crear una serie de tiras blanqueadoras cortando las tiras. Podría cortar una muesca llamando explícitamente usando la función principal HLSL RestartStrip o insertando un valor de índice inusual en el flujo constante del índice. El valor es -1, que es casi seguro 0xffffffff para índices de 32 bits o 0xffff para índices de 16 bits. El índice -1 indica un “apagado” fantástico o puede ser un “reinicio” de la corriente de estas cintas. Anterior
Una barra transversal es una serie de triángulos conectados involucrados con una malla triangular que comparten vértices para establecer un uso más eficiente de la memoria de gráficos por computadora. Son más eficientes que las listas triangulares no indexadas, pero suelen ser tan naturales o más lentas que las listas triangulares indexadas.
Triangle Fan es una imagen infográfica 3D primitiva que, en su mayoría, ahorra espacio de almacenamiento y también ahorra una oportunidad de procesamiento. Describe un teorema que usa triángulos simplemente enganchados que comparten un vértice de base común (como se ignora en una franja triangular, que actualmente conecta el siguiente vértice principal con los dos últimos vértices empleados para formar un triángulo).
glStart (GL_TRIANGLES); glColor3f (0,1, 0,2, 0, 3); glVertex3f (0, 0, 0); glVertex3f (1, 0, 0); glVertex3f (0, 1, 0); glEnd (); Esto da como resultado triángulos sombreados individuales, planos, sin iluminación y sin estructura. A veces, puede tomar triángulos, cuadrados y polígonos transformando drásticamente el valor que pasa a glBegin.