En gráficos de computadora, ¿cuál es la diferencia entre el material y la textura?¿cuál es la diferencia entre el material y la textura?
Respuesta
En OpenGL, un material es un conjunto de coeficientes que definen cómo el modelo de iluminación interactúa con la superficie. En particular, los coeficientes ambientales, difusos y especulares para cada componente de color (R, G, B) se definen y aplican a una superficie y se multiplican efectivamente por la cantidad de luz de cada clase/color que incide en la superficie. A continuación, se agrega un coeficiente de emmisividad final a cada componente de color que permite que los objetos aparezcan luminosos sin interactuar realmente con otros objetos.
A textura, por otro lado, es un conjunto de datos de mapa de bits (imagen) de 1, 2, 3 o 4 dimensiones que se aplica e interpola en una superficie de acuerdo con las coordenadas de textura en los vértices Los datos de textura alteran el color de la superficie, ya sea que la iluminación esté habilitada o no (y dependiendo del modo de textura, por ejemplo, calcomanía, modulación, etc.). Las texturas se utilizan con frecuencia para proporcionar detalles a nivel de subpolígono a una superficie, p. aplicando una textura repetitiva de ladrillo y mortero a un patio para simular una pared de ladrillo, en lugar de modelar la geometría de cada ladrillo individual.
En el modelo OpenGL clásico (tubería fija), las texturas y los materiales son algo ortogonales. En el nuevo mundo sombreado programable, la línea se ha borrado bastante. Con frecuencia, las texturas se utilizan para influir en la iluminación de otras maneras. Por ejemplo, los mapas de relieve son texturas que se usan para perturbar las superficies normales para efectuar la iluminación, en lugar de modificar el color de los píxeles directamente como lo haría una textura de "imagen" regular.
Aunque los términos se pueden usar indistintamente, es común referirse a un mapa de bits como una textura.
Si bien una textura completamente definida, con propiedades de iluminación, mapeo de relieve, etc., más comúnmente se conocería como un material.
Pero debo enfatizar que dependiendo de las herramientas que se usen, su terminología será utilizada por la comunidad relacionada.
lo que pienso de con esos términos:
Una textura es una imagen que se proyecta sobre un objeto 3D.
Un material simula un material físico. Tome "vaso" por ejemplo. No podría producir un efecto de vidrio con un mapa de textura simple. Tiene parámetros como cómo refleja y refracta la luz en diferentes ángulos. Un material también podría ser un mapa de textura simple, por lo que a veces los términos significan lo mismo.
La pregunta sugiere un malentendido común de varios conceptos de gráficos por computadora. Es uno nacido del pensamiento y la codificación previa al sombreado.
Una textura no es más que un contenedor para una serie de una o más imágenes, donde una imagen es una matriz de cierta dimensionalidad (1D, 2D, etc.) de valores, donde cada valor puede ser un vector de entre 1 y 4 números. Las texturas también tienen algunas técnicas especiales para acceder a los valores de ellos que permiten la interpolación y la minimización de los artefactos de aliasing del muestreo.
Una textura puede contener colores, pero las texturas no tienen para contener colores. Las texturas se pueden usar para variar los parámetros en una superficie de objetos, pero no todas las texturas se pueden usar.
Las texturas no tienen directa asociación con "materiales"; puede usarlos para una amplia variedad de cosas (o nada en absoluto).
Un material es un concepto de iluminación. Dada una luz particular y un punto en la superficie, la intensidad (es decir, el color) de la luz reflejada desde esa superficie en ese punto se rige por una ecuación de iluminación. Esta ecuación es una función de muchos parámetros. Pero esos parámetros están agrupados en dos categorías.
Una categoría de parámetros de ecuación de luz son los parámetros de luz. Estos describen las características de la fuente de luz. Señale las luces contra las luces direccionales contra las luces puntuales. La intensidad de la luz (otra vez: color) es otro parámetro. Dado que la intensidad en sí misma puede variar dependiendo de la dirección del punto de superficie con respecto a la luz (piense en linternas o focos), se puede acceder a la intensidad desde una textura . Así es como muchos juegos proyectan linternas sobre una habitación oscura.
La otra categoría de parámetros de ecuación de luz describe las características de la superficie en ese punto. Estos se llaman material parámetros. Los parámetros del material, o material para abreviar, describen propiedades importantes de la superficie en el punto en cuestión. Lo normal en ese punto es importante. También existe la reflectancia difusa (color), la reflectancia especular, el brillo especular (exponente para Phong/Blinn-Phong) y varios otros parámetros, dependiendo de cuán completa sea su ecuación de iluminación.
¿De dónde vienen estos valores? Los parámetros de luz tienden a ser fijos en el mundo. Las luces no se mueven por objeto (aunque si haces iluminación en el espacio de objetos, entonces cada objeto tendría su propia posición de luz). La intensidad de la luz puede variar. Pero eso es principalmente eso; cualquier otra cosa sucede entre fotogramas, no dentro del renderizado de un solo fotograma. Entonces la mayoría de los parámetros de luz son uniformes de sombreado.
Los parámetros del material pueden provenir de una variedad de fuentes. Usar un uniforme de sombreador significa efectivamente que todos los puntos en la superficie tienen el mismo valor. De modo que podría tener el color difuso proveniente de un uniforme, lo que le daría a la superficie un color uniforme (modificado por la iluminación, por supuesto). Puede variar los parámetros de material por vértice, pasándolos como atributos de vértice o informándolos desde otros atributos.
O puede proporcionar un parámetro asignando una textura a una superficie. Este mapeo implica asociar coordenadas de textura con posiciones de vértice, de modo que la textura se adhiere directamente a la superficie. La textura se muestrea en esa ubicación durante la renderización, y ese valor se usa para realizar la iluminación.
Las texturas más comunes con las que está familiarizado, las "texturas de color", simplemente están variando la reflectancia difusa de la superficie. La textura proporciona el color difuso en cada punto a lo largo de la superficie.
Esta no es la función de texturas de solamente. También podría variar el brillo especular sobre la superficie. O la intensidad de la luz. O algo más.
Las texturas son herramientas. Los materiales son solo un grupo de parámetros de ecuaciones de luz.
- 1. ¿cuál es la diferencia entre:.! y: r !?
- 2. ¿Cuál es la diferencia entre .ToString (+) y ""
- 3. Cuál es la diferencia entre $ y jQuery
- 4. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 5. ¿Cuál es la diferencia entre dict() y {}?
- 6. Cuál es la diferencia entre $ (...) y `...`
- 7. ¿Cuál es la diferencia entre `##` y `hashCode`?
- 8. ¿Cuál es la diferencia entre {0} y ""?
- 9. Cuál es la diferencia entre = y: =
- 10. ¿Cuál es la diferencia entre ".equals" y "=="?
- 11. ¿Cuál es la diferencia entre [indefinido] y [,]?
- 12. ¿Cuál es la diferencia entre + = y = +?
- 13. ¿Cuál es la diferencia entre " " y ""?
- 14. ¿Cuál es la diferencia entre el colado y la coerción?
- 15. ¿cuál es la diferencia entre el complemento y la biblioteca?
- 16. ¿Cuál es la diferencia entre el casting y la conversión?
- 17. ¿Cuál es la diferencia entre el marco y la arquitectura?
- 18. ¿Cuál es la diferencia entre la tubería y el zócalo?
- 19. ¿Cuál es la diferencia entre el
- 20. ¿Cuál es la diferencia entre el NSImage y el UIImage?
- 21. ¿Cuál es la diferencia entre el tenedor y el hilo?
- 22. ¿cuál es la diferencia entre el objetivo y el proyecto?
- 23. Backbone.Js - ¿Cuál es la diferencia entre el y $ el?
- 24. ¿Cuál es la diferencia entre el mango y el hilo?
- 25. ¿Cuál es la diferencia entre el JSP y el JSTL?
- 26. Cuál es la diferencia entre la función() {}() y la función() {}()
- 27. ¿Cuál es la diferencia entre la abstracción y la encapsulación?
- 28. ¿Cuál es la diferencia entre el cifrado SHA y AES?
- 29. ¿Cuál es la diferencia entre el nuevo operador y Class.newInstance()?
- 30. ¿Cuál es la diferencia entre el formato OMF y COFF?