Pixel y vertex shaders

Lugar para comentarios respecto de software y hardware
Yenki
Admin
Mensajes: 15734
Registrado: Mié Feb 16, 2005 8:23 pm
Ubicación: La Plata, Argentina

Pixel y vertex shaders

Mensaje por Yenki » Sab May 14, 2005 12:47 pm

Creo que hay cosas técnicas a las que se hace mucha referencia y que se definen poco, una de ellas es este tema.


Hasta ahora yo sabía que Shader es un procedimiento de sombreado e iluminación que permite a los programadores especificar como se va a representar (renderizar en inglés), un píxel o un vértice (vertex).
El nombre de shader viene del programa de Pixar RenderMan, el que usaron para hacer la película Toy Story.

Los shaders son programas simples que describen los atributos de un píxel o un vértice.
Los vertex shaders describen los atributos (posición, textura, coordenadas, colores, etc) de un vértice, mientras que los pixel shaders describen las características (color, profundidad Z, y valor alfa) de un píxel.

Los shaders remplazan una sección del hardware de video llamada Fixed Function Pipeline (FFP). Esta hace los mapeos de texturas e iluminación por hardware , (supongo que esto implica una forma predeterminada) , mientras que los shaders permiten sustituir esta forma de con una programable.

Mirando en el sitio de microsoft vi que las diferentes versiones de shaders lo que hacen es agregar instrucciones, características e instrucciones a Direct X.
Diferencias entre versiones de pixel shaders, y vertex shaders.

Bueno como usuarios me parece que es anecdótico, lo importante es ver el grado de realismo que impliquen en los juegos y no la versión de los shaders.
Esto en definitiva :
http://www.pcper.com/comments.php?nid=145




Ahora hallé más información sobre este tema leyendo sobre la Xbox 360. Así que traduzco un poco.

Shaders son programas que definen las propiedades finales en pantallas de un objeto en un entorno 3D.
Los usos más comunes para los shaders son definir color, reflexividad (es la capacidad para reflejar), y translucidez de una superficie, (esla capacidad de un cuerpo para dejara pasar luz a través de él pero sin permitir ver los objetos nítidamente).
Pero también permiten manipular la posicion de un objeto.


El origen de los shaders son el programa RenderMan fue para generar graficos procesados, esos que llevan mucho tiempo de trabajo y se usan para efectos visuales en películas, que no son en tiempo real.
Uno de los creadores de Xbox Seamus Blackely para explicar el poder de los shaders dijo que el Tiranosaurio Rex de Parque Jurásico sólo tenía 74 mil polígnos, pero mediante el uso de shaders lo hacían lucir casi fotorrealista.

Recién con la generación de placas de video GeForce 3 (tecnología usada en la Xbox), se introdujeron los shaders programables en las placas de video. Antes las ecuaciones gráficas eran parte de los chips de video, se hacían de una forma determinada, entonces los diseñadores y programadores tenían poco control sobre el proceso de sombreado (shading).
La introduccion de los shaders programables fue un hito para los gráficos en tiempo real, marcando la transición de funciones de hardware con funciones fijas de gráficos, a hardware con funciones programables.
(lo que antes se hacía como el chip lo tenia programado, ahora puede hacerse como el diseñador quiere usando shaders).

Para los gráficos en tiempo real hay dos clases de shaders, para píxel y para vértice (vertex).
Los pixel shaders programables dejan a los desarrolladors manipular colores, texturas y aún formas alterantdo la iluminación, color y superficie a nivel de píxel, siendo el píxel la menor porción de una imagen.
Los vertex shaders agregan efectos especiales a los objetos realizando operaciones que varían los valores de los vértices de los objetos, siendo un vértice el punto de intersección en el espacio 3D, (una esquina de un polígono) usualmente definido por su ubicación usando coordenadas x, y , z .


Los pixel shaders permiten a los desarrolladores crear materiales y superficies que no lucen computarizadas o artificiales, sino orgánicas.
Los vertex shaders dejan que los diseñadores creen animaciones realistas, deformaciones de superficies y transforrmaciones en tiempo real (morphing) para animaciones suaves con esqueletos.


Hasta ahora los chips gráficos tenían unidades especiales y dedicadas para los pixel o vertex shaders, y los programadores usaban lenguajes de bajo nivel (cercanos al código de máquina) o de alto nivel como en Direct X (más parecidos al lenguaje humano), para crear y ejecutar estos shaders en el chip de video.


Con la llegada del la próxima generación de chips de ATI , como el usado en Xbox 360, y en la nueva generación de Direct X, que vendrá en el nuevo Windows con nombre de código Longhorn, llamada Windows Graphics Foundation 2.0, el modelo de shaders unificados será realidad.

En teamxbox.com, de donde tomé este interesante artículo, como son fanas de la consola destacan que los usarios de PC van a tener que esperar hasta fines del 2.006 para acceder al este modelo unificado, mientras que los de Xbox lo tendrán este año.




Fuentes: directx.com; teamxbox.com

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados