Regresar   HardLimit > Hardware > Tarjetas Gráficas

Respuesta
 
Herramientas Estilo de vista
Antiguo 22-Oct-2005, 13:40:06   #1
Sergiman
Veteranos HL
Sergiman va por buen camino
 
Avatar de Sergiman
 
Registro: October-2002
Desde: Linares, residiendo temporalmente en Málaga
Posts: 2,461
Generacion de una imagen 3D

Voy a intentar explicar como se genera una imagen 3D con el ordenador; es decir como un juego utiliza los recursos de nuestro PC para generar las escenas que son visualizadas en el monitor.

Hace ya mucho tiempo que aparecieron las GPU (Unidad de Procesamiento Gráfico), en un primer momento se habló de que eran totalmente independientes del procesador y que este no influiría en el rendimiento de nuestra tarjeta. Esto tiene su parte de verdad y de mentira, me explico. Si es cierto que la GPU es la encargada de generar la escena o imagen sin necesidad de la intervención del procesador, pero la CPU realiza una labor fundamental y que determinará la cantidad de imágenes resultantes. Este proceso no es mas que el de suministrar los datos sobre los que trabajará nuestra GPU. Podemos apreciar que si nuestra CPU es lenta y no es capaz de suministrar la cantidad de datos que necesita nuestra GPU el rendimiento se verá afectado en gran medida; por lo que podemos llegar a la conclusión de que la CPU SI influye en el rendimiento.

Después de esta aclaración (a mi en su momento me resulto chocante la afirmación “independiente de la CPU”) voy a describir los pasos o etapas que se realizan hasta llegar al resultado final.

Podemos distinguir 4 etapas o pasos:

- “Operaciones sobre vértices”. Esta etapa recibe a trabes del bus (AGP o PCI-E) una lista de vértices sobre los que realizará agrupaciones (normalmente formando triángulos), transformaciones (rotación, translación), etc…

- “Delimitación de elementos en la escena”. Recibirá el resultado de la etapa anterior y delimitará el espacio 2D visible en la pantalla (clipping ) y la cara visible de cada polígono (culling). Con el clipping evitaremos procesar aquellos polígonos que se salgan de nuestra área de trabajo y con el culling procesaremos solo aquella cara del polígono que será visible. Imaginaros que queremos mostrar una esfera, es absurdo procesar hasta la ultima etapa la cara que no se ve.

- “Conversión de vértices en píxeles”. En esta etapa también conocida como rasterizer se convierte cada punto, línea o polígono en una matriz de puntos donde se guarda información acerca del color y profundidad. Anteriormente a la serie 6 de nVidia y la serie 1000 de ATI, el color se representaba como tres componentes RGB (rojo, verde y azul) de 8 bits cada uno; mas el canal Alfa que determina el grado de opacidad del objeto. Con la implementación del formato HDR (High Dynamic Range) se utilizan números en punto flotante de 16 bits por canal, por lo que la precisión es mucho mayor y la representación del color es mucho más real.
Como resultado de esta etapa, la lista de vértices que proporcionaba la CPU se ha convertido en una matriz cuyas dimensiones son las del frame buffer (área de memoria de video que guarda información que se mostrará en nuestro monitor). En esta etapa influirá da manera drástica la resolución de pantalla que utilicemos, pues dependiendo de ella tendremos mas o menos píxeles.

- “Operaciones sobre píxeles”. Esta etapa realizará multitud de funciones sobre los píxeles, normalmente cuanto mayor sea la versión del verter shader mayor será la funcionalidad y por tanto podremos hacer más cosas.
Trabajará sobre el frame buffer cuyo contenido se mostrará directamente en pantalla.
Las funciones principales de esta etapa son la aplicación de texturas en la que a cada polígono le pegará la textura que le dará su aspecto externo, y el mezclado de elementos que realizará la composición de la escena indicando si los nuevos elementos superponen a los existentes, etc.
Estas funciones son tremendamente complejas ya que por ejemplo las texturas deberán transformarse dependiendo del ángulo, posición, etc del polígono sobre el que se aplicaran.

En este punto debemos tener claro la diferencia entre píxel y téxel. El primero son los puntos que forman las imágenes mientras que el segundo define la textura de un objeto 3D. El píxel vendrá determinado por la resolución de pantalla (mas o menos cantidad) pero el téxel no ya que esta vinculado a la GPU y no al monitor como ocurre con el píxel.

Las etapas que operan sobre píxeles son mucho mas complejas que las que operan sobre vértices ya que a partir de un numero mas o menos pequeño de vértices se pueden generar millones de píxeles, es por esto que el numero de etapas o cauces dedicados a los píxeles es mucho mayor que el de vértices (en la Geforce 7800 hay 24 etapas o unidades de procesamiento de píxeles por tan solo 8 unidades para el procesamiento de vértices)

Espero que os haya quedado más claro como llegamos hasta una escena de un determinado juego.

--------------------
C2D 6600@3600 || ASUS P5N32-E SLI + Noctua NC-U6|| 4x1 Gb GSKill 6400 HK@4-4-3-5-2T 800 Mhz || Shappire 4870 || WD Raptor 36 Gb + WD 320Gb 16 Mb Buffer || TFT LG 1710B || TG580-U22 2force + SAI MGE 1000 || Lian-Li PC70 || SB X-Fi Extreme Music con DTT 2200 || RL: Swiftech Storm (G4) + EK-FC4870 CF+ Danger Den D4 12V + Black Ice Extreme II Doble + Depósito Acrílico Typhoon 3.5''
Sergiman is offline
Compartir  
Citar y responder
Enlaces patrocinados
Bienvenido a HardLimit

Actualmente estas viendo el foro como invitado, lo que limita tu acceso a ciertos aspectos del foro, enviar mensajes privados a otros usuarios, votar en encuestas, subir archivos adjuntos, etc... Registrarse es rápido, sencillo y gratuito, mejorará varios aspectos de la accesibilidad a los foros, entre ellas este recuadro con su publicidad desaparecerá. Entra en nuestra Comunidad

Si tienes problemas en el proceso de registro, contacta con nosotros.
Antiguo 23-Oct-2005, 11:53:49   #2
Sergiman
Veteranos HL
Sergiman va por buen camino
 
Avatar de Sergiman
 
Registro: October-2002
Desde: Linares, residiendo temporalmente en Málaga
Posts: 2,461
Re: Generacion de una imagen 3D

...............y yo que creia que esta mini guia os iba a gustar mucho.
Nadie tiene algo que opinar acerca de como funcionan una GPU???? Algun comentario, critica, ............
Es que estas cosas son demasiadas triviales y por eso no las consideraias interesantes????

--------------------
C2D 6600@3600 || ASUS P5N32-E SLI + Noctua NC-U6|| 4x1 Gb GSKill 6400 HK@4-4-3-5-2T 800 Mhz || Shappire 4870 || WD Raptor 36 Gb + WD 320Gb 16 Mb Buffer || TFT LG 1710B || TG580-U22 2force + SAI MGE 1000 || Lian-Li PC70 || SB X-Fi Extreme Music con DTT 2200 || RL: Swiftech Storm (G4) + EK-FC4870 CF+ Danger Den D4 12V + Black Ice Extreme II Doble + Depósito Acrílico Typhoon 3.5''
Sergiman is offline
 
Citar y responder
Antiguo 23-Oct-2005, 14:12:03   #3
kynes
Veteranos HL
kynes realmente buenokynes realmente buenokynes realmente buenokynes realmente buenokynes realmente bueno
 
Avatar de kynes
 
Registro: July-2003
Desde: El Puerto de Santa María (Cádiz)
Posts: 3,232
Re: Generacion de una imagen 3D

No son triviales, ni muchísimo menos. Lo que pasa es que seamos sinceros, a ti, y a un par de foreros más nos pueden parecer interesantes, pero para la mayoría de la gente lo único importante es si la 6600GT más rápida es la XFX o la ASUS y si la 6800LE muta o no. A poca gente le importa lo que ocurre por debajo.

--------------------
TRENDnet
kynes is offline
 
Citar y responder
Antiguo 23-Oct-2005, 14:31:36   #4
Magog
Veteranos HL
Magog será famoso prontoMagog será famoso pronto
 
Avatar de Magog
 
Registro: July-2002
Desde: Burgos
Posts: 2,333
Re: Generacion de una imagen 3D

Además está bien, que nadie comente nada no quiere decir que no sea interesante.

Un saludo.
Magog is offline
 
Citar y responder
Antiguo 23-Oct-2005, 15:16:17   #5
Sergiman
Veteranos HL
Sergiman va por buen camino
 
Avatar de Sergiman
 
Registro: October-2002
Desde: Linares, residiendo temporalmente en Málaga
Posts: 2,461
Re: Generacion de una imagen 3D

Quizas tengas razon kynes, pero creo que se deberia de empezr a hablar un poco mas de cosas mas interesantes y no ver siempre las mismas preguntas. En ocasiones veo en muchas ramas preguntas repetidas o casi iguales que fueron respondidas, pero que la gente las sigue preguntando......
Se que a mucha gente solo le importa que targeta es mejor o peor, pero nunca esta de mas aprender ciertas cosas. No es por echarme flores ni mucho menos, pero en muy poquitos libros he visto explicado el proceso de generacin tan facil como creo que lo he expuesto. Este foro tiene cosas muy buenas, y gente que sabe mucho de ciertos temas; intentemos entre todos compartir lo que sabemos que seguro que nos será mucho mas ameno e interesante.

Por cierto, gracias a los dos.

--------------------
C2D 6600@3600 || ASUS P5N32-E SLI + Noctua NC-U6|| 4x1 Gb GSKill 6400 HK@4-4-3-5-2T 800 Mhz || Shappire 4870 || WD Raptor 36 Gb + WD 320Gb 16 Mb Buffer || TFT LG 1710B || TG580-U22 2force + SAI MGE 1000 || Lian-Li PC70 || SB X-Fi Extreme Music con DTT 2200 || RL: Swiftech Storm (G4) + EK-FC4870 CF+ Danger Den D4 12V + Black Ice Extreme II Doble + Depósito Acrílico Typhoon 3.5''
Sergiman is offline
 
Citar y responder
Antiguo 23-Oct-2005, 15:19:11   #6
XaviJS
Veteranos HL
XaviJS tiene un aura espectacular a su alrededorXaviJS tiene un aura espectacular a su alrededor
 
Avatar de XaviJS
 
Registro: October-2005
Desde: Sabadell (barcelona)
Posts: 2,445
Smile Re: Generacion de una imagen 3D

Yo soi un noob en eso, i me kedao mas o menos iwalito k kuando empece a leer :P. algo e pillao, lo mas basiko, pero kreo k ya tendre tiempo para aprenderlo bien jeje. pienso k es un punto fuerte para akellos k se interesen en crear motores de juegos i eso, o simplemente para elegir un buen modelo de targeta grafika. .
XaviJS is online now
 
Citar y responder
Antiguo 23-Oct-2005, 16:21:22   #7
chardo
HL registered
chardo va por buen camino
 
Avatar de chardo
 
Registro: January-2005
Posts: 106
Re: Generacion de una imagen 3D

Originalmente publicado por Sergiman
- “Conversión de vértices en píxeles”....Anteriormente a la serie 6 de nVidia y la serie 1000 de ATI, el color se representaba como tres componentes RGB ..

Me ha picado la curiosidad... das a entender que las nuevas gráficas ya no funcionan de la forma que explicas, entonces, ¿Como funcionan?

Saludos

--------------------
AMD 3000+ (13.5 x 166)---512mb ddr 400 kingston value ram cl 3.0---9600xt 128mb---200gb SATA Maxtor
-------MONTANDO RL--------
tdx danger den---maze4 rev.2---bomba ocean runner 2500 (2500l/h 2.5m) ---tubos clearflex---Radiador opel kadett---2 radiadores nexxos xtreme dobles---depósito casero
chardo is offline
 
Citar y responder
Antiguo 23-Oct-2005, 18:25:28   #8
Sergiman
Veteranos HL
Sergiman va por buen camino
 
Avatar de Sergiman
 
Registro: October-2002
Desde: Linares, residiendo temporalmente en Málaga
Posts: 2,461
Re: Generacion de una imagen 3D

Antes de la serie 6 de nVidia y las X1000 de ATI, el color que tenia un determinado píxel se representaba por tres componentes que representaban los colores Rojo, Verde (G) y Azul (B); cada uno de ellos era un entero de 8 bits de precision. Los ingenieros se dieron cuenta que esta no era la manera mas idonea de representar el color pues no se corresponde a la interpretacion que hace el ojo humano. Empezaron a utilizar un formato que provenia de la industria del cine, el HDR. Con este nuevo formato se utilizan numeros de punto flotante de 16 bits. Conseguimos tener mas precision y representar de manera mas fidedigna y real el color, ademas de responder como hace el ojo humano.
Date cuenta que el ojo humano tiende a oscurecer las imagenes muy claras (se cierra la pupila para que entre menos luz), y a aclarar las imagenes muy oscuras (se abre la pupila para permitir meyor paso luz). Esto se puede representar mucho mejor con numeros en punto plotante que con enteros, los primeros tienen un rango mucho mas grande y podemos jugar con el exponente para tener mas precision.

--------------------
C2D 6600@3600 || ASUS P5N32-E SLI + Noctua NC-U6|| 4x1 Gb GSKill 6400 HK@4-4-3-5-2T 800 Mhz || Shappire 4870 || WD Raptor 36 Gb + WD 320Gb 16 Mb Buffer || TFT LG 1710B || TG580-U22 2force + SAI MGE 1000 || Lian-Li PC70 || SB X-Fi Extreme Music con DTT 2200 || RL: Swiftech Storm (G4) + EK-FC4870 CF+ Danger Den D4 12V + Black Ice Extreme II Doble + Depósito Acrílico Typhoon 3.5''
Sergiman is offline
 
Citar y responder
Antiguo 23-Oct-2005, 22:49:09   #9
NaSeR
HL registered
NaSeR va por buen camino
 
Avatar de NaSeR
 
Registro: February-2005
Desde: mi ordenador al tuyo hay cuatro teclas de distancia.
Posts: 602
Re: Generacion de una imagen 3D

A mi no me digas nada que me acabo de incorporar y lo acabo de ver
Es muy interesante

--------------------
El forero al que llama está apagado o fuera de cobertura en estos momentos. Por favor, inténtelo de nuevo más tarde.
NaSeR is offline
 
Citar y responder
Antiguo 23-Oct-2005, 23:30:06   #10
Forenaits
Veteranos HL
Forenaits será famoso pronto
 
Avatar de Forenaits
 
Registro: August-2002
Desde: Mallorca
Posts: 3,044
Re: Generacion de una imagen 3D

Ojalá hubiese mas posts como este en el foro, ya apenas respondo (no se si os habreis dado cuenta) pq las preguntas repetidas mas de cuatro veces me sacan de quicio... enhorabuena por el post Sergiman

--------------------
CONSEJOS:
Busca antes de postear.
Forma tu propia opinión leyendo mucho y no tendrás que preguntarle a nadie acerca de qué comprar.
Cuida la ortografía y te leerá mas gente.
Forenaits is offline
 
Citar y responder
Antiguo 23-Oct-2005, 23:36:00   #11
kynes
Veteranos HL
kynes realmente buenokynes realmente buenokynes realmente buenokynes realmente buenokynes realmente bueno
 
Avatar de kynes
 
Registro: July-2003
Desde: El Puerto de Santa María (Cádiz)
Posts: 3,232
Re: Generacion de una imagen 3D

Originalmente publicado por Sergiman
Antes de la serie 6 de nVidia y las X1000 de ATI, el color que tenia un determinado píxel se representaba por tres componentes que representaban los colores Rojo, Verde (G) y Azul (B); cada uno de ellos era un entero de 8 bits de precision. Los ingenieros se dieron cuenta que esta no era la manera mas idonea de representar el color pues no se corresponde a la interpretacion que hace el ojo humano. Empezaron a utilizar un formato que provenia de la industria del cine, el HDR. Con este nuevo formato se utilizan numeros de punto flotante de 16 bits. Conseguimos tener mas precision y representar de manera mas fidedigna y real el color, ademas de responder como hace el ojo humano.
Date cuenta que el ojo humano tiende a oscurecer las imagenes muy claras (se cierra la pupila para que entre menos luz), y a aclarar las imagenes muy oscuras (se abre la pupila para permitir meyor paso luz). Esto se puede representar mucho mejor con numeros en punto plotante que con enteros, los primeros tienen un rango mucho mas grande y podemos jugar con el exponente para tener mas precision.

Un par de anotaciones. El HDR no depende del formato que se utiliza. Puedes tener HDR con enteros (p.ej. con el formato 10-10-10-2, o el 16-16-16-16 que utiliza 64 bits para cada pixel) o con punto flotante como el HDR FP16 (un ejemplo es el OpenEXR) El HDR simplemente es extender el rango desde el LDR (8-8-8-8 que son los 32 bits de color normales) para permitir mayores transiciones de color.

El efecto de emulación del comportamiento del ojo humano no es obligatorio para el HDR, pero es uno de los efectos que mejor quedan al aplicar una extensión del rango.

--------------------
TRENDnet
kynes is offline
 
Citar y responder
Antiguo 24-Oct-2005, 00:12:07   #12
Sergiman
Veteranos HL
Sergiman va por buen camino
 
Avatar de Sergiman
 
Registro: October-2002
Desde: Linares, residiendo temporalmente en Málaga
Posts: 2,461
Re: Generacion de una imagen 3D

HDR con numeros enteros????? No sabia de su existencia.
La mejora que aporta el HDR es pasar de los 32 bits que comentas a 48 bits, pero en punto flotante para tener mayor rango de representacion y realismo.

Gracias Forenaits, haber si conseguimos entre todos hablar de cosas un poco mas interesantes.

--------------------
C2D 6600@3600 || ASUS P5N32-E SLI + Noctua NC-U6|| 4x1 Gb GSKill 6400 HK@4-4-3-5-2T 800 Mhz || Shappire 4870 || WD Raptor 36 Gb + WD 320Gb 16 Mb Buffer || TFT LG 1710B || TG580-U22 2force + SAI MGE 1000 || Lian-Li PC70 || SB X-Fi Extreme Music con DTT 2200 || RL: Swiftech Storm (G4) + EK-FC4870 CF+ Danger Den D4 12V + Black Ice Extreme II Doble + Depósito Acrílico Typhoon 3.5''
Sergiman is offline
 
Citar y responder
Antiguo 24-Oct-2005, 00:29:01   #13
kynes
Veteranos HL
kynes realmente buenokynes realmente buenokynes realmente buenokynes realmente buenokynes realmente bueno
 
Avatar de kynes
 
Registro: July-2003
Desde: El Puerto de Santa María (Cádiz)
Posts: 3,232
Re: Generacion de una imagen 3D

Se está llamando HDR a cualquier aumento de el número posible de colores desde los famosos 16 millones. El formato 10-10-10-2 utiliza seis bits del canal alfa que los reparte entre los otros tres canales para aumentar el rango a 1073 millones, el 16-16-16-16 (serían 64 bits de color) aumenta a 281 billones... La verdad es que un formato en coma flotante siempre es mejor que utilizar enteros, pero tiene una carga computacional muy superior trabajar en flotantes que trabajar en enteros, además de que el FP16 utiliza 8 bytes para cada pixel. Este formato requiere una componente fp16 por cada canal, por lo que tendríamos el doble de consumo de ancho de banda que en un formato RGB 24 (32) clásico, con la consiguiente reducción de rendimiento por este motivo. Un compromiso entre calidad y rendimiento sería el formato que usa Xenos, el chip gráfico de la XBox360, que es un fp 10-10-10-2. Lo malo es que ningún chip para pc's lo implementa para el render target, todavía.

--------------------
TRENDnet
kynes is offline
 
Citar y responder
Antiguo 24-Oct-2005, 00:42:05   #14
Sergiman
Veteranos HL
Sergiman va por buen camino
 
Avatar de Sergiman
 
Registro: October-2002
Desde: Linares, residiendo temporalmente en Málaga
Posts: 2,461
Re: Generacion de una imagen 3D

El HDR que yo menciono es el proviniente de OpenEXR. Se utilizan 48 bits por pixel frente a otros formatos (por ejemplo LBNL utiliza 32). Tambien he de decir que no es que sea el mejor formato ya que por ejemplo LBNL tiene un rango de entre 10 elevado a -38 y 10 elevado a 38; muy superior al HDR de OpenEXR.

Por cierto, ahora que lo mencionas ¿cuantos bits se utilizan en HDR para el canal Alfa???

Con respecto a la carga computacional, es indudable que operar con una representacion de punto flotante es mucho mas compleja; pero la arquitectura de la GPU tiene muchas cosas buenas. Una de ellas es un bus de 256 bits frente a los 64 de la CPU. Ademas no creo que la potencia sea un problema para la GPU, com mas de 100 GFLOPS puede permitirse trabajar con aritmnetica en punto flotante.

--------------------
C2D 6600@3600 || ASUS P5N32-E SLI + Noctua NC-U6|| 4x1 Gb GSKill 6400 HK@4-4-3-5-2T 800 Mhz || Shappire 4870 || WD Raptor 36 Gb + WD 320Gb 16 Mb Buffer || TFT LG 1710B || TG580-U22 2force + SAI MGE 1000 || Lian-Li PC70 || SB X-Fi Extreme Music con DTT 2200 || RL: Swiftech Storm (G4) + EK-FC4870 CF+ Danger Den D4 12V + Black Ice Extreme II Doble + Depósito Acrílico Typhoon 3.5''

Editado por Sergiman en 24-Oct-2005 a las 00:46:50.
Sergiman is offline
 
Citar y responder
Antiguo 24-Oct-2005, 00:49:26   #15
kynes
Veteranos HL
kynes realmente buenokynes realmente buenokynes realmente buenokynes realmente buenokynes realmente bueno
 
Avatar de kynes
 
Registro: July-2003
Desde: El Puerto de Santa María (Cádiz)
Posts: 3,232
Re: Generacion de una imagen 3D

Depende, hay formatos que utilizan solo dos, como el fp 10-10-10-2 de xenos, hay formatos que utilizan 16, como el OpenEXR... Hay mucha gente que asocia HDR con OpenEXR, ya que este formato es el que utilizan las gamas 6 y 7 de nVidia para su HDR fp16, pero es únicamente una forma de hacerlo. En verdad OpenEXR tiene como opciones 64 bits por pixel y 48 bits por pixel para fp16, y 128 bits por pixel o 96 bits por pixel para fp32 o int32.

Hay una cosa que está clara, si tiene mayor rango en el exponente, estás utilizando bits que deberían ir a la mantisa, por lo que la resolución será mucho menor. No se yo que solución es mejor, la verdad. Yo creo que siempre es mejor tener menor rango exponencial, pero tener mucha mayor resolución.

Originalmente publicado por Sergiman
Con respecto a la carga computacional, es indudable que operar con una representacion de punto flotante es mucho mas compleja; pero la arquitectura de la GPU tiene muchas cosas buenas. Una de ellas es un bus de 256 bits frente a los 64 de la CPU. Ademas no creo que la potencia sea un problema para la GPU, com mas de 100 GFLOPS puede permitirse trabajar con aritmnetica en punto flotante.

Perdón, saqué algo a la conversación que no es correcto, ya que internamente las tarjetas ya trabajan con una precisión FP32 (nVidia FX, 6 y 7, y ATI X1) o FP24 (ATI pre X1), lo que varía es la precisión del render target. Es más una cuestión de ancho de banda que otra cosa.

--------------------
TRENDnet

Editado por kynes en 24-Oct-2005 a las 01:00:14.
kynes is offline
 
Citar y responder
Respuesta


Usuarios viendo esta discusión: 1 (0 usuario(s) y 1 invitado(s))
 
Herramientas
Estilo de vista

Normas del foro
no puedes iniciar un tema
no puedes responder a un tema
no puedes agregar archivos adjuntos
no puedes editar tus posts

El código vB está activado
Los emoticonos están activado
El código [IMG] está activado
El código HTML está desactivado
Ir a


Todas las horas son GMT +2. La hora actual es 10:59:09.

Usando: vBulletin Version 3.6.8
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
© 1999-2008 Entusiastas del Hardware C.B.