¿Cuál es el punto de instalar directx10?
Mejora de la eficiencia del dibujo
El proceso de validación de datos 3D y comandos de dibujo en versiones anteriores de DirectX se ha mejorado enormemente en DirectX 10 Revise. Validar datos y comandos 3D significa verificar el formato y la integridad de los datos gráficos y los comandos de dibujo pasados a DirectX antes de dibujar los gráficos para garantizar que estos datos y comandos no causarán problemas al hardware de gráficos cuando se envíen al hardware; Un paso necesario, pero desafortunadamente conlleva una importante sobrecarga de rendimiento.
Es fácil ver en la tabla anterior que en DirectX 9, los datos utilizados deben verificarse cada vez que se dibuja un fotograma. En DirectX 10, estos datos sólo se verifican una vez después de la creación. Obviamente, esto puede mejorar enormemente la eficiencia de los juegos en curso.
Reducir la dependencia de los gráficos en la CPU
Los tres mecanismos clave introducidos en DirectX 10 para reducir la dependencia de los gráficos en la CPU son matrices de texturas, dibujos preestablecidos y salida de flujo. Por favor, no se deje intimidar por estos tres términos arcanos; de hecho, estos tres mecanismos no son difíciles de entender;
Matrices de texturas
En DirectX tradicional, cambiar entre múltiples texturas es una operación que consume mucha CPU, porque cada vez que cambia, debe llamar a una función API de DirectX. Y tienes que hacer este cambio cada vez que dibujas un objeto con una nueva textura. A veces, para lograr efectos materiales especiales, es posible que necesites cambiar las texturas varias veces al dibujar un objeto, lo que causará una gran sobrecarga.
Por lo tanto, en juegos anteriores, era común combinar una gran cantidad de texturas pequeñas en una textura grande y asignar diferentes partes de la textura grande a diferentes objetos 3D para minimizar el cambio de texturas y mejorar la eficiencia del juego. . Esto es bastante complejo de implementar, y el límite de tamaño de textura en DirectX 9 es 4048×4048 píxeles, lo que significa que es posible que muchas de estas texturas grandes deban cargarse si se quieren acomodar más mosaicos de texturas pequeños.
DirectX 10 introduce un nuevo mecanismo de matriz de texturas que guarda 512 texturas individuales en una matriz mantenida por la tarjeta gráfica y se puede obtener usando una nueva instrucción en el programa de sombreado. Cualquier textura en la matriz. Esta instrucción de sombreado se ejecuta en la GPU; por lo tanto, el trabajo de cambio de textura que requiere un uso intensivo de la CPU se descarga fácilmente a la GPU y, dado que las texturas generalmente se colocan directamente en la memoria de video, el trabajo se descarga a la memoria de gráficos que reside con la memoria de video. La GPU de la tarjeta gráfica será más eficiente. Ahora, en DirectX 10, puedes dejar que la GPU elija de forma segura la textura del objeto estableciendo la textura en la matriz de texturas al principio, luego asignándole un número de índice de textura cada vez que se dibuja el objeto y combinándolo con el objeto. Los datos 3D se pasan al sombreador.
Predicción de dibujo
En una escena 3D típica, muchos objetos están completamente ocluidos por otros objetos. En este punto, sería un desperdicio que la tarjeta gráfica dibujara estos objetos. Si bien las GPU avanzadas pueden eliminar de forma preventiva los píxeles ocluidos de los fotogramas de la escena mediante algoritmos de hardware, todavía hay muchas operaciones redundantes que no deben realizarse. Por ejemplo, un modelo de personaje complejo completamente bloqueado puede tener miles de vértices, lo que requiere animaciones complejas de piel de hueso, operaciones de iluminación de vértices, etc.; sin embargo, la GPU solo comienza a determinar si es necesario dibujarlo después de todos estos vértices; Se han procesado Cada píxel, y este modelo de personaje debe dibujarse en la pantalla píxel a píxel, y cuando se eliminan todos los píxeles, todo el procesamiento de vértices anterior es en vano. "Draw Prediction" en DirectX 10 puede resolver esta situación. En pocas palabras, la predicción de dibujo funciona mediante el uso de un objeto simple que puede representar un objeto complejo (como un cuadro grande que puede cubrir un personaje) para determinar si el objeto está ocluido. Si todos los píxeles están ocluidos, es decir, el cuadro debe ser completamente invisible, entonces el dibujo del personaje en el interior, incluidas las operaciones de esqueleto y piel, se completará sin dichas operaciones. Dado que una caja sólo tiene como máximo ocho vértices, esto es mucho menos costoso que procesar miles de vértices.
Además, en DirectX 10, algunas de las operaciones matemáticas reales que solía realizar la CPU en este paso se han entregado completamente a la GPU, lo que también alivia en gran medida la presión sobre la CPU. cierta medida.
Salida de streaming
La salida de streaming también es una característica importante de DirectX 10, que permite que el sombreador de vértices o el sombreador de geometría de la GPU agregue datos a la memoria de vídeo, que anteriormente era la caso con sombreadores de vértices. Esto no es posible en sombreadores.
En versiones anteriores de DirectX, el sombreador de vértices solo podía leer datos de vértices que ya estaban en la memoria; el nuevo sombreador de geometría introducido en DirectX 10 no solo puede leer datos de vértices de la memoria y geométricos (puntos, segmentos de línea y triángulos). ) datos, y también se pueden generar nuevos datos geométricos y volver a guardarlos en la memoria.
Dibujo por lotes
En DirectX 9, gestionar el estado de renderizado siempre ha sido una operación muy dependiente de la CPU. El estado de renderizado se refiere a los diversos datos y parámetros que deben configurarse cuando la tarjeta gráfica realiza operaciones de dibujo. Por ejemplo, para dibujar un personaje, debe configurar el formato de datos, el modo de filtrado de textura, el modo de fusión translúcido, etc. de sus datos del modelo geométrico. Para cada configuración, debe llamar a la API de DirectX una vez, lo que consume mucho tiempo de CPU y limita en gran medida el rendimiento de renderizado.
Para realizar estas operaciones por lotes, DirectX 10 introduce dos nuevas estructuras: objetos de estado y buffers constantes.
Un objeto de estado es un conjunto de estados previamente dispersos agrupados por funcionalidad, por lo que cuando desea establecer una serie de estados relacionados, no necesita llamar a la API de DirectX individualmente para cada estado; llámalo una vez Todos estos estados se pueden configurar en la tarjeta gráfica.
Los buffers constantes son otro mecanismo muy razonable. Establecer el estado de renderizado es sólo una pequeña parte de la preparación de su modelo para dibujar. Para dibujar un personaje, el color, la posición, el tipo y el rango de la fuente de luz que ilumina al personaje se deben configurar en la tarjeta gráfica con anticipación y la información de posición de los huesos se debe configurar para que la postura pueda ser controlada por el; huesos, etc., y toda esta información se pasará a la tarjeta gráfica a través de registros constantes GPU. Cada registro constante puede almacenar un vector de punto flotante de cuatro dimensiones (es decir, cuatro números de punto flotante). Los registros constantes son una forma importante para que los programas de juegos ingresen datos de la escena del juego en la GPU.
En DirectX 9, el número de dichos registros constantes es muy limitado y cada actualización de un registro requiere una llamada a una función API de DirectX.
En DirectX 10, al utilizar búferes de constantes, cada búfer de constantes puede contener hasta 4096 constantes.
En DirectX 10, al utilizar búferes de constantes, cada búfer de constantes puede contener hasta 4096 constantes.
Por ejemplo, en versiones anteriores de DirectX, si el programa quería dibujar muchos árboles y malezas en la escena, podía usar un método similar a "clonar": luego, al dibujar el marco, dibujaría diferente La posición, la dirección y el tamaño se utilizan como parámetros para dibujar continuamente estos modelos, y las funciones de dibujo de la API de DirectX se llaman para dibujar estos modelos, por lo que puede dibujar una gran cantidad de árboles y malezas. Pero cada vez que dibujas un árbol, tienes que establecer un montón de parámetros y luego llamar a la API una vez, lo cual consume mucha CPU, por lo que había muy pocas escenas de bosque detalladas a gran escala en juegos anteriores.
En DirectX 10, podemos configurar múltiples modelos de árboles y césped para la tarjeta gráfica y luego escribir la posición, dirección y tamaño de todos los árboles que se dibujarán en un búfer constante a la vez, de modo que La tarjeta gráfica puede Sex juntar todos los árboles y la hierba.
En resumen, DirectX 10 lleva los juegos a un nuevo nivel de rendimiento y eficiencia a través de mecanismos como validación de datos avanzada, matrices de texturas, predicción de dibujo, salida de streaming, imágenes de estado y almacenamiento en búfer constante. Esto también evita el problema con versiones anteriores de DirectX que evitaban que optimizaciones más detalladas para los gráficos se cargaran demasiado en la CPU.
Shader Model 4.0
Otra característica notable de DirectX 10 es la introducción de Shader Model 4.0, entonces, ¿qué características nuevas trae Shader Model 4.0, especialmente con DirectX 9.0 en? c comparado?
Presentamos Shader Model 4.0
Presentamos un nuevo sombreador: Geometry Shader
Se agrega un nuevo sombreador de geometría a DirectX 10, que permite programar elementos geométricos se simplifica y proporciona una arquitectura Sahder unificada para sombreadores de vértices, geometría y píxeles.
Los sombreadores de geometría son un avance importante en los procesos de gráficos programables. Por primera vez, permite a la GPU generar y destruir dinámicamente metadatos geométricos. Combinados con las nuevas capacidades de salida de transmisión de datos, ahora se pueden implementar en las GPU muchos algoritmos que antes eran inalcanzables.
Arquitectura de sombreador unificado
En DirectX 9, el sombreador de píxeles se ha quedado atrás del sombreador de vértices en todos los aspectos, incluido el número de registros constantes, el número de instrucciones disponibles y la número de sombreadores. Longitud, etc.
En Shader Model 4, los sombreadores de vértices, geometría y píxeles tienen un conjunto de instrucciones unificado, el mismo número de registros temporales/constantes y todos tienen el mismo acceso a todos los recursos disponibles en la GPU. Esto elimina la necesidad de programar cada sombreador según sus propias limitaciones.
Cientos de veces los recursos disponibles en DirectX 9
Los recursos disponibles en los sombreadores se han ampliado enormemente en Shader Model 4.0. Así como los primeros programadores lucharon por ahorrar unos miserables 640k de RAM, los programadores que desarrollaban juegos usando generaciones anteriores de DirectX también debían tener cuidado al asignar valiosos recursos de registro de sombreado. La cantidad de registros afecta directamente la complejidad del programa de sombreado. Por eso es imposible escribir programas grandes como Microsoft Office en una máquina con sólo 640k de RAM.
En DirectX 10, el número de registros temporales aumentó de 32 a 4096, y el número de registros constantes aumentó de 256 a 65.536.
Más objetivos de renderizado
Un objetivo de renderizado es un objetivo que la GPU puede dibujar en la pantalla. Podemos entenderlo como el lienzo de la GPU. En términos generales, el objetivo de renderizado sale a la pantalla para que podamos ver la imagen dibujada. Pero a veces, para lograr algunos efectos especiales, algunos resultados de renderizado no se dibujan directamente en la pantalla, sino que se devuelven a la GPU para su posterior procesamiento de efectos especiales, y el objetivo de renderizado no es necesariamente dibujar la información de color de la imagen.
Dependiendo del efecto gráfico, el objetivo de renderizado puede ser la distancia de cada objeto desde la pantalla, o la dirección de cada píxel en la superficie, o la temperatura de cada superficie, etc., cualquier información puede Pinte en él según sea necesario para lograr el efecto. Para mejorar la eficiencia en este caso, muchas tarjetas gráficas más nuevas admiten dibujar información diferente en diferentes objetivos de renderizado simultáneamente después de ejecutar el mismo sombreador. DirectX 9 ya admite este mecanismo, pero limita el dibujo a un máximo de cuatro objetivos de renderizado a la vez. DirectX 10 duplica ese número.
Más texturas
La compatibilidad con matrices de texturas está disponible en Shader Model 4.0. Las matrices de texturas se describieron en detalle en el artículo anterior, por lo que aquí solo nos centraremos en las partes relacionadas con los sombreadores.
En cada matriz de texturas se pueden guardar hasta 512 texturas del mismo tamaño. La resolución de cada textura se ha ampliado a 8192×8192, lo que significa más detalles en las texturas. La cantidad de texturas a las que se puede acceder simultáneamente en un sombreador aumenta a 128, lo que significa que cada vez que se ejecuta el mismo sombreador, se pueden usar 128 de las 512 texturas en la matriz de texturas. Como resultado, la variedad y el nivel de detalle de las texturas aumentarán considerablemente en DirectX 10.
Nuevo formato de color HDR
Si quieres hablar del concepto más candente en gráficos en tiempo real en años, tiene que ser HDR.
Proporciona una precisión y una gama de colores extremadamente altas para texturas, iluminación y otros cálculos mediante el uso de un formato de color de punto flotante (las texturas se utilizan para usar formatos de color enteros). Aunque cada canal de color todavía se muestra en última instancia como un entero de 8 bits, gran parte del detalle se pierde en cálculos de baja precisión antes de mostrarse en la pantalla, ya que las texturas también se calculan en un formato de 8 bits por canal durante el material. y cálculos de iluminación.
El uso de texturas de punto flotante de 16 bits para cada canal de color garantiza que prácticamente no se pierda ningún detalle de color durante los cálculos. Además, el uso de un formato de punto flotante de 16 bits en los canales de color permite representar una gama más amplia de colores. Estas son las ventajas del HDR.
Para el usuario, cuando un gráfico del juego se superpone con un efecto HDR, instantáneamente parece una foto real, con un brillo nebuloso, reflejos detallados y un tono muy natural.
Sin embargo, utilizar un formato que contiene números de punto flotante de 16 bits por canal de color requiere el doble de memoria que un formato de textura que contiene números enteros de 8 bits por canal, lo que tiene un impacto negativo en la eficiencia del dibujo. Como resultado, DirectX 10 introduce dos nuevos formatos HDR. El primero es R11G11B10, lo que significa que los canales rojo y verde están representados por números de punto flotante de 11 bits, y el canal azul está representado por números de punto flotante de 10 bits. Entonces, ¿por qué no utilizar 11 bits para representar ambos canales? Esto es para redondear a 32, que es un número entero. Cualquiera que haya estudiado computadoras sabe que cuando el ancho de la unidad de datos en la memoria es de 32 bits, la eficiencia de operación es la más alta en los datos de textura, y generalmente se requiere que el ancho de datos de cada píxel sea múltiplo de 2, como por ejemplo; 2, 8, 16, 32, 64, etc. Dado que el ojo humano es menos sensible al azul que al rojo y al verde, utiliza un bit menos que los otros dos canales.
Otro formato es utilizar una mantisa de 9 bits para cada canal y un exponente de 5 bits para todos los canales (como todos sabemos, en las computadoras, los números de punto flotante se representan en forma de mantisa más un exponente), sumando Todavía 32 bits. Estos nuevos formatos permiten que las texturas ocupen la misma cantidad de espacio de memoria de vídeo que antes, evitando un consumo importante de espacio y ancho de banda. Además, para aplicaciones que requieren cálculos científicos precisos, DirectX 10 es capaz de admitir texturas de punto flotante con una precisión de 32 bits por canal (128 bits para los 4 canales combinados).
Estas extensiones y mejoras en DirectX 10 hacen posible crear escenas de juego en tiempo real con un detalle sin precedentes.
Sombras geométricos y salida de streaming
Antes del lanzamiento de DirectX 10, el hardware de gráficos solo podía procesar datos existentes en la GPU. Tanto los sombreadores de vértices como de píxeles permiten que los programas manipulen datos en la memoria. Este modelo de desarrollo tiene mucho éxito porque destaca en el diseño de mallas complejas y en el cálculo preciso de los píxeles existentes. Sin embargo, este modelo de desarrollo no permite generar nuevos datos en el procesador de imágenes. Cuando los objetos se crean dinámicamente en un juego (como la forma de una nueva arma), se realizan llamadas a la CPU, pero desafortunadamente, la mayoría de los juegos ya ejercen mucha presión sobre la CPU, creando dinámicamente grandes cantidades de datos nuevos a medida que se generan. El juego avanza. La posibilidad es mínima.
Los sombreadores de geometría, introducidos en Shader Model 4.0, permiten a los programas crear nuevos datos en el procesador de imágenes por primera vez. Este evento revolucionario cambió el papel de la GPU en el sistema de un procesador que solo podía procesar datos existentes a un procesador que podía procesar datos y generarlos a velocidades extremadamente altas. Ahora se pueden implementar algoritmos complejos que antes eran imposibles de implementar en sistemas gráficos.
El sombreador de geometría se encuentra entre el sombreador de vértices y la etapa de rasterización. La rasterización es el proceso de escanear cada triángulo línea por línea y dibujarlo en la pantalla píxel por píxel. El sombreador de geometría toma como entrada los vértices procesados por el sombreador de vértices. Para cada vértice, el sombreador de geometría produce 1024 vértices como salida. Esta capacidad de generar grandes cantidades de datos se denomina amplificación de datos. Del mismo modo, un sombreador de geometría puede eliminar vértices generando menos vértices y, por lo tanto, se lo conoce como minimización de datos. Estas dos nuevas características hacen que las GPU sean increíblemente poderosas para cambiar los flujos de datos.
Uso de mapas de desplazamiento teselado
Los sombreadores de geometría permiten la generación de mapas de desplazamiento virtuales en la GPU.
El uso de mapas de desplazamiento teselado es una técnica popular en los sistemas de renderizado fuera de línea que permite renderizar modelos muy complejos utilizando modelos simples y mapas de altura. El mapa de altura es un mapa en escala de grises que se utiliza para representar la altura de cada punto del modelo. Al renderizar, los modelos con pocos polígonos se subdividen en modelos con más polígonos y los polígonos se extruyen según la información del mapa de altura para representar el modelo más detallado.
En DirectX 9, por otro lado, la GPU no puede generar nuevos datos ni teselar modelos de baja poli, por lo que sólo se puede lograr una fracción de la funcionalidad del mapeo de desplazamiento virtual. Ahora, con el poder de DirectX 10, se pueden crear miles de vértices de la nada, lo que permite un mapeo de desplazamiento virtual verdaderamente teselado en renderizado en tiempo real.
Nuevo algoritmo basado en Adjacencia
Los sombreadores de geometría pueden procesar tres tipos de primitivas: vértices, líneas y triángulos. Del mismo modo, puede generar cualquiera de estas tres primitivas, aunque cada sombreador solo puede generar una. Los sombreadores de geometría pueden obtener información de los bordes al procesar líneas y triángulos. Se pueden implementar muchos algoritmos potentes utilizando vértices en líneas y aristas de triángulos. Por ejemplo, la información de los bordes se puede utilizar para calcular los contornos del modelo para representaciones de dibujos animados y representaciones realistas de cabello.
Salida de streaming
Antes de DirectX 10, la geometría tenía que rasterizarse e introducirse en el sombreador de píxeles antes de poder escribirse en la memoria. DirectX 10 introduce una nueva característica llamada Streaming Output, que permite que la transmisión de datos desde un sombreador de vértices o un sombreador de geometría se envíe a la memoria framebuffer. Esta salida luego se puede devolver al proceso de renderizado para su reprocesamiento. Cuando se utilizan sombreadores de geometría junto con la salida de transmisión, la GPU no solo puede manejar nuevos algoritmos gráficos sino también mejorar la eficiencia de las operaciones generales y las operaciones físicas.
Con el soporte de estas tecnologías de generación y eliminación de datos y transmisión de salida, un sistema de partículas completo puede ejecutarse de forma independiente en la GPU. Las partículas se generan en el sombreador de geometría y se expanden y derivan durante el proceso de expansión de datos. Las nuevas partículas se transmiten a la memoria y se devuelven al sombreador de vértices para su animación. Después de un tiempo, las partículas comienzan a desvanecerse y finalmente se destruyen en el sombreador de geometría.
HLSL 10
DirectX 10 aporta muchos elementos nuevos y potentes al lenguaje de sombreado de alto nivel de su predecesor, DirectX 9, incluidos búferes constantes para actualizaciones constantes más rápidas y presenta vistas para mayor flexibilidad. manipulación de datos durante el procesamiento, así como instrucciones de números enteros y bit a bit que se pueden utilizar en una gama más amplia de algoritmos.
"Instrucciones de números enteros y bits" agregaron declaraciones de cambio.
Búfer constante
Los programas de sombreado, al igual que los programas normales, necesitan utilizar constantes para definir varios parámetros, como la posición y el color de la fuente de luz, la posición de la cámara y la proyección. matriz y algunos parámetros de materiales (por ejemplo, reflectividad). Estas constantes generalmente se actualizan con frecuencia durante el proceso de renderizado, y usar y actualizar cientos de constantes puede resultar muy agotador para la CPU. Los nuevos buffers de constantes en DirectX 10 permiten asignar constantes a buffers específicos según la frecuencia con la que se usan y luego se actualizan de manera coordinada.
DirectX 10 admite hasta 16 buffers constantes en sombreadores, cada uno con 4096 constantes.
DirectX 10 admite hasta 16 buffers constantes en sombreadores, cada uno con 4096 constantes.
DirectX 10 no sólo proporciona más constantes que DirectX 9, sino que también mejora enormemente la velocidad de actualización de las constantes. Para las constantes asignadas al mismo búfer, solo necesitamos realizar una operación para actualizarlas todas en lugar de actualizarlas una por una.
Dado que diferentes constantes se actualizan en diferentes intervalos, es más eficiente organizar las constantes según su frecuencia de uso. Por ejemplo, la matriz de visión de la cámara solo cambia de un cuadro a otro, mientras que los parámetros del material, como la información de textura, cambian al cambiar de elemento. Luego, el búfer de constantes se divide en dos partes: el búfer que se actualiza en cada cuadro contiene las constantes que deben actualizarse entre cuadros y se actualiza una vez entre cuadros. El otro búfer de constantes se actualiza cuando se cambian los elementos. Las actualizaciones funcionan de la misma manera; .
Esto eliminará parte del trabajo innecesario involucrado en la actualización de constantes, haciendo que todo el script del sombreador se ejecute mucho más fluido que DirectX 9.
Lenguaje de renderizado de alto nivel (continuación)
Vistas
En DirectX 9, los tipos de datos en los sombreadores están estrictamente separados. Por ejemplo, los datos de un búfer de vértices utilizados por un sombreador de vértices no se pueden utilizar como datos de textura por parte de un sombreador de píxeles. Esto vincula tipos de recursos específicos con pasos específicos en el proceso de renderizado y limita el alcance de uso del recurso durante todo el proceso de renderizado.
DirectX 10 elimina el concepto de "tipos de datos estrictamente distinguibles". Cuando se crean datos, DirectX 10 simplemente los trata como un campo de bits en la memoria. Si desea utilizar estos datos indefinidos, debe utilizar una "vista". Las vistas le permiten leer el mismo dato de varias maneras y DirectX 10 admite dos vistas que utilizan el mismo recurso simultáneamente.
Al utilizar varias vistas, puede utilizar el mismo dato para diferentes propósitos en diferentes partes del proceso de renderizado. Por ejemplo, podemos usar un sombreador de píxeles para representar un fragmento de datos geométricos en una textura, y luego un sombreador de vértices puede usar una única "vista" para tratar la textura como un búfer de vértices y representar los datos como datos geométricos. Las vistas "aportan mayor flexibilidad a la manipulación de datos al reutilizar el mismo dato en diferentes pasos a lo largo del proceso de renderizado, lo que ayuda a los desarrolladores a lograr efectos más creativos y emocionantes. p>
Instrucciones de enteros y fases
Se han agregado instrucciones de números enteros y de fase al nuevo lenguaje de sombreado de alto nivel, agregando así operaciones en instrucciones de números enteros y de fase. "
El beneficio de agregar instrucciones de números enteros y de bits al nuevo lenguaje de sombreado de alto nivel es. la adición de operaciones de instrucciones de bits y números enteros a sus funciones subyacentes, lo que ayuda a implementar ciertos algoritmos en la GPU. Los desarrolladores finalmente pueden calcular respuestas precisas directamente usando números enteros en lugar de números de punto flotante con fuertes conversiones. Ahora es fácil calcular el número de índice de una matriz y los días de operaciones de GPU sin números enteros finalmente han terminado. Esto facilitará el desarrollo del programa de sombreado.
Declaraciones de cambio
En DirectX 10, HLSL admite declaraciones de cambio, lo que simplifica enormemente la codificación de scripts de sombreado con una gran cantidad de decisiones (ramificación). Una forma de utilizar esta función es crear un "programa de sombreado vectorial", un programa de sombreado que contiene una gran cantidad de programas de sombreado pequeños y que en sí mismo es muy grande. En este "programa de sombreado vectorial" podemos cambiar fácilmente entre diferentes efectos al renderizar el mismo elemento estableciendo un ID de material determinado en la declaración de cambio. En otras palabras, cada soldado del ejército ahora puede tener efectos diferentes.
Otras mejoras en DirectX 10
Alfa para superposiciones
Los modelos poligonales con texturas de información translúcidas se utilizan a menudo en juegos para simular objetos complejos, por ejemplo, hierba, hojas y árboles. alambre de espino. En un modelo real, una pequeña brizna de hierba con un borde dentado podría costar cientos de polígonos en una textura transparente, se puede resolver con sólo 2 o 3 polígonos;
Texturas transparentes
Sin embargo, cuando se utilizan texturas con información translúcida, a menudo aparecen feos bordes irregulares en la línea límite entre las partes opacas y transparentes de la textura. La combinación translúcida puede resolver este problema, pero requiere que todos los objetos de la escena se dibujen en orden ascendente para garantizar que sus relaciones de oclusión sean correctas, lo que ejerce mucha presión sobre la CPU y no es deseable. En versiones anteriores de DirectX, las pruebas alfa y la combinación eran la pesadilla de un programador de gráficos.
En DirectX 10, se utiliza una nueva tecnología llamada cobertura Alpha para lograr suavizado mediante texturas de muestreo múltiple en la intersección de transparentes y opacos. Esta es una solución simple y eficaz sin una sobrecarga de rendimiento significativa. Los juegos con escenas al aire libre se beneficiarán enormemente de esta tecnología, ya que los bordes de las hojas, las alambradas y el césped se volverán más suaves y redondos.
Efectos alfa para superponer
Filtrado de mapas de sombras
Los mapas de sombras se han convertido en una técnica cada vez más popular para representar sombras realistas. Esta tecnología se puede ver en los principales juegos de próxima generación, como Gears of War, Splinter Cell: Double Agent, Ghost Recon y Assassin's Creed. Sin embargo, debido a las limitaciones de tamaño de los mapas de sombras, los bordes de las sombras logradas con él a menudo tienen bordes irregulares obvios. DirectX 10 admite oficialmente la capacidad de filtrar mapas de sombras. Después de filtrar, los bordes de la sombra se volverán más suaves.
------------------------------------------- ----- -
En resumen: ¡hará que las imágenes que veas sean más claras y rápidas!
La tecnología del futuro DirectX10 crea gráficos de juegos realistas (fotos)
/pcedu/softnews/cs/0608/849971.html