• Portada
    • Recientes
    • Usuarios
    • Registrarse
    • Conectarse

    Generacion de una imagen 3D

    Programado Fijo Cerrado Movido
    Tarjetas Gráficas
    10
    28
    2.3k
    Cargando más mensajes
    • Más antiguo a más nuevo
    • Más nuevo a más antiguo
    • Mayor número de Votos
    Responder
    • Responder como tema
    Accede para responder
    Este tema ha sido borrado. Solo los usuarios que tengan privilegios de administración de temas pueden verlo.
    • SergimanS
      Sergiman @kynes
      Última edición por

      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.

      kynesK 1 Respuesta Última respuesta Responder Citar 0
      • kynesK
        kynes Veteranos HL @Sergiman
        Última edición por

        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.

        hlbm signature

        SergimanS 1 Respuesta Última respuesta Responder Citar 0
        • SergimanS
          Sergiman @kynes
          Última edición por

          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.

          kynesK 1 Respuesta Última respuesta Responder Citar 0
          • kynesK
            kynes Veteranos HL @Sergiman
            Última edición por

            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.

            @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.

            hlbm signature

            SergimanS 1 Respuesta Última respuesta Responder Citar 0
            • SergimanS
              Sergiman @kynes
              Última edición por

              Me acabo de acordar de una cosa que tal vez os parezca interesante:
              Un prefesor de mi facultad hizo unas pruebas de rendimiento para comparar la arquitectura de una CPU actual frente a la arquitectura de una GPU. Ejecuto un codigo que definia una malla irregular de nodos y aristas de conectividad media (no me pregunteis que es poruqe no lo se) definida por un codigo de Euler. Los datos que obtuvo es que el tiempo que empleo un PIV a 3.2 era 32.447 milisegundos y una 6800 tardo 12.128 milisegundos.
              Esto no quiere decir que la GPU sea mejor que la CPU, sino que en ciertas condiciones tiene mucha mayor potenca. Con este caso de la malla de Euler pretendia anular la mejor baza que tiene las CPU actuales: la cache. No olvidemos que la GPU no tiene cache (tiene, pero muy muy pequeña); pero tiene un bus 8 veces mas grande con lo que se consigue no solo suplir la falta de cache sino que obtiene mayor rendimiento.

              kynesK 2 Respuestas Última respuesta Responder Citar 0
              • kynesK
                kynes Veteranos HL @Sergiman
                Última edición por

                Quizás te interesen estos hilos de Beyond3D sobre GPGPUs (general purpose GPUs, o utilizar las GPUs para más cosas a parte de para gráficos como para folding at home)

                http://www.beyond3d.com/forum/showthread.php?t=24503

                http://www.beyond3d.com/forum/showthread.php?t=24333

                hlbm signature

                1 Respuesta Última respuesta Responder Citar 0
                • kynesK
                  kynes Veteranos HL @Sergiman
                  Última edición por

                  @Sergiman:

                  Ejecuto un codigo que definia una malla irregular de nodos y aristas de conectividad media (no me pregunteis que es poruqe no lo se) definida por un codigo de Euler.

                  Creo que se refiere a configuraciones intermedias entre estrellas y anillos, con cierta redundancia para evitar aislamientos en el caso de que se caiga una línea. Es un tipo de configuración muy típica en telecomunicaciones, no es tan cara como la estrella y es mucho más fiable que los árboles puros o los anillos.

                  hlbm signature

                  SergimanS 1 Respuesta Última respuesta Responder Citar 0
                  • SergimanS
                    Sergiman @kynes
                    Última edición por

                    Lo de la malla de Euler no se que es, pero hizo esto porque el algoritmo que definio hacia multiples saltos que anulaban por completo la cache del procesador (para luchar en igualdad de condiciones 😉 ).

                    Los enlaces que me has dado los leere mas adelante, ahora estoy un poco liado y mi nivel de ingles no es que sea como para tirar cohetes. De todas formas gracias.

                    ForenaitsF 1 Respuesta Última respuesta Responder Citar 0
                    • ForenaitsF
                      Forenaits Veteranos HL @Sergiman
                      Última edición por

                      Hacia tiempo que no disfrutaba tanto leyendo una rama, gracias a los dos 😉 Sois unas máquinas 😄

                      GulpG 1 Respuesta Última respuesta Responder Citar 0
                      • GulpG
                        Gulp @Forenaits
                        Última edición por

                        Tengo entendido que el número de colores que puede mostrar un TFT es bastante limitado comparado con un CRT y a pesar de ello se están imponiendo. Si esto es así ¿porque siguen las tarjetas gastando tantos recursos en aumentar el número de colores, o la precisión en estos?
                        O dicho de otra forma ¿se aprecian estas mejoras en la precisión de los colores en un TFT de gama media?
                        Saludos.

                        SergimanS 1 Respuesta Última respuesta Responder Citar 0
                        • SergimanS
                          Sergiman @Gulp
                          Última edición por

                          Actualmente no hay dispositivos que sean capaces de aprobechar el nuevo formato HDR; asi que en cierto modo toda la mejora que se obtiene no sirve de nada. Lo que pasa que dentro de muy poco empezaran a salir dispositivos que si aprobecharan esta nueva tecnologia.
                          Es algo parecido a lo que ocurrio con el PCI-E, inicialmente era muy muy dificil encontrar targetas para dicho bus hasta que con el tiempo los fabricantes llenaron el mercado con targetas PCI-E.
                          Los TFT se han impuesto a los CRT simplemete porque han bajado de precio, la calidad es muy similar y ocupan muy poco espacio.

                          kynesK 1 Respuesta Última respuesta Responder Citar 0
                          • kynesK
                            kynes Veteranos HL @Sergiman
                            Última edición por

                            Mmmm es un tema espinoso. Es cierto que hay TFTs que solo muestran unos doscientos mil colores (mi benq FP767-12 es uno de ellos) y los normales muestran 16 millones, pero también es cierto que los efectos que permite el HDR si se notan. El aumento del contraste si se puede notar, aunque no sea con los colores que calcula realmente la gráfica sino con los que el monitor interpreta que debe mostrar por aproximación.

                            hlbm signature

                            GulpG 1 Respuesta Última respuesta Responder Citar 0
                            • GulpG
                              Gulp @kynes
                              Última edición por

                              Estaba leyendo sobre las nuevas definiciones de pixel pipeline y como trabajan las nuevas GPU y me preguntaba si esto de separar las unidades de mapin de texturas (TMU) o las operaciones de trama (ROP) afecta solo a las operaciones sobre píxeles o altera el proceso entero de generación de la imagen.
                              ¿Podremos seguir hablando de gráficas de x pipelines, o cual será el elemento que determine la potencia de la gráfica y nos permita estimar su potencial con facilidad?
                              Saludos.

                              1 Respuesta Última respuesta Responder Citar 0
                              • _Neptunno__
                                _Neptunno_ MODERADOR @Forenaits
                                Última edición por

                                @Forenaits:

                                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

                                Totalmente en lo cierto, da gusto un post donde todos aprendemos, joe. Y es lo que hace falta, francamente. Eso si, yo me quede algo perdido con la complejidad del tema, jeje, pero…me releere de nuevo el hilo, que por tieno no sera.

                                Saludos!!

                                kynesK 1 Respuesta Última respuesta Responder Citar 0
                                • kynesK
                                  kynes Veteranos HL @_Neptunno_
                                  Última edición por

                                  Si queréis profundizar un poco más en el tema, en GPUMANIA hay un artículo bastante bueno bajo mi punto de vista sobre este tema.

                                  hlbm signature

                                  SergimanS 1 Respuesta Última respuesta Responder Citar 0
                                  • SergimanS
                                    Sergiman @kynes
                                    Última edición por

                                    Gulp lo que comentas supongo que afecta a las etapas de pixeles pero tiene su repercusion en la imagen final.
                                    Hoy en dia se necesita mucha mas multiplicidad en las etapas de pixeles que en las de vertices y por eso vemos que las unidades dedicadas a estos menesteres crecen en mucha mayor medida que las dedicadas a vertices; de echo una imagen definida con unos cientos de vertices puede dar lugar a otra con millones de pixeles.

                                    Por cierto Kynes, muy buen enlace :sisi:

                                    1 Respuesta Última respuesta Responder Citar 0
                                    • IstarionI
                                      Istarion
                                      Última edición por

                                      Sergiman está muy bien :sisi: , pero me temo que aun simplificando puede haber mucha gente a la que no le quede claro… yo lo que veo es que no se sabe muy bien de dónde vienen las etapas, así que intentaré explicarlo a ver si ayudo a que se entienda mejor 😉

                                      Para renderizar una imagen en 3D, utilizamos vértices para dibujar primitivas de dibujo con ciertas propiedades, para que le "sea cómodo" a nuestra tarjeta gráfica. Esto de "primitivas" son los típicos triángulos (también pueden ser puntos, líneas, polígonos con más caras no cóncavos, etc.) que conforman las "mallas poligonales" de los modelos de los juegos (los mapas, los personajes, las armas, ...). Aquí un link un poco raro pero en el que se ve una malla poligonal:

                                      http://www.iberisa.com/soporte/cosmosm/accustress.htm

                                      Los vértices serían los 3 puntos que conforman un triángulo (u otro polígon, también podría ser un cuadrado). Así que los personajes son miles y miles de triángulos! Para dibujar estos triangulos, le decimos a nuestra tarjeta gráfica lo siguiente:

                                      1. Ey! tienes que dibujar un triángulo.
                                      2. Los 3 puntos del triángulo son: "coordenadas de los vertices".

                                      Y cómo le decimos qué textura queremos que tenga? Pues en medio de estos pasos. Algo así como:

                                      1.a. Este polígono tiene esta textura: "textura_de_pared".

                                      Y nuestra amada tarjeta gráfica le pegará la textura al triángulo. Luego existe la multitextura, que es el hecho de poder pegarle varias texturas a un triangulo y mezclarlas entre ellas de distintas maneras.
                                      En un juego, básicamente se hacen los puntos 1,1.a y 2 un montón de veces (esto sólo en la parte gráfica!).
                                      Finalmente, estos pasos se descomponen como bien ha explicado Sergiman al llegar a la tarjeta gráfica.

                                      @Sergiman:

                                      • “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.

                                      Aquí no será el "pixel shader"?
                                      Lo último es que para entenderlo mejor yo usé este tutorial:

                                      http://www.lighthouse3d.com/opengl/glsl/index.php?pipeline

                                      Me gusta mucho y ha sintentizado muy bien el pipeline de las tarjetas graficas ;D
                                      No se si al final he aclarado alguna duda que pudiera haber :S pero si teneis alguna disparad 😉
                                      P.D.: lol que antigua que es esta rama, me sabe mal reflotarla 😛

                                      Intel Xeon E3 1231v3 @ 3.4Ghz / 16GB DDR3 2133Mhz 11-11-11 / R290 PRO / Samsung 970 Evo 500GB / Samsung 840 250GB / 2xHDD / Netway 700w

                                      1 Respuesta Última respuesta Responder Citar 0
                                      • 1
                                      • 2
                                      • 2 / 2
                                      • First post
                                        Last post

                                      Foreros conectados [Conectados hoy]

                                      3 usuarios activos (0 miembros e 3 invitados).
                                      febesin, pAtO,

                                      Estadísticas de Hardlimit

                                      Los hardlimitianos han creado un total de 543.3k posts en 62.8k hilos.
                                      Somos un total de 34.7k miembros registrados.
                                      ssaybb ha sido nuestro último fichaje.