Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: Degiik en 11 de Junio de 2003, 02:47:13 PM

Título: ARB_vertex_blend , ARB_multisample (mi follon antialiasing)
Publicado por: Degiik en 11 de Junio de 2003, 02:47:13 PM
                                Me estoy emocionando con las extension despues del post de MChiz. He leido ARB_vertex_blend y no entiendo para que sirve, no logro asociarla con nada de blending.

Por otro lado ARB_multisample es el antialiasing ? que tipo de antialiasing es ? porque por lo visto se ve que hay de varios tipos. La verdad que me pego bastante lio con antialiasing por otro lado esta glEnable GL_POINT_SMOOTH GL_POLYGON_SMOOTH y por otro glHint que tb hace antialiasing... ...que follón alguien muestra el camino ?                                
Título: ARB_vertex_blend , ARB_multisample (mi follon antialiasing)
Publicado por: MChiz en 11 de Junio de 2003, 05:42:45 PM
                                Buenas Degiik:

Me alegra que te motive a postear : )

No conozco la ARB_multisampling, pero si la ARB_vertex_blend. Sirve para hacer animacion esqueletal en el hard. Multiplica los huesos ( matrices ) la GPU o algo asi.                                
Título: ARB_vertex_blend , ARB_multisample (mi follon antialiasing)
Publicado por: Degiik en 12 de Junio de 2003, 12:12:26 AM
                                "hacer animacion esqueletal en el hard. Multiplica los huesos ( matrices ) la GPU"

Lo siento pero no lo entiendo.
¿ tiene algo que ver con la mezclas ( blending ) ?

Un saludo.                                
Título: ARB_vertex_blend , ARB_multisample (mi follon antialiasing)
Publicado por: MChiz en 12 de Junio de 2003, 12:57:47 AM
                                Claro. Digamos que haces animacion esqueletal por hardware.                                
Título: ARB_vertex_blend , ARB_multisample (mi follon antialiasing)
Publicado por: Degiik en 12 de Junio de 2003, 04:46:51 PM
                                El problema MChiz es q no se que es "animacion esqueletal por hardware".

Un saludo.                                
Título: ARB_vertex_blend , ARB_multisample (mi follon antialiasing)
Publicado por: MChiz en 12 de Junio de 2003, 10:05:44 PM
                                Perdon :b

Para empezar: conoces la animacion esqueletal?                                
Título: ARB_vertex_blend , ARB_multisample (mi follon antialiasing)
Publicado por: Degiik en 12 de Junio de 2003, 10:25:38 PM
                                No.  8)  Ni jodienga idea. Si es mu chungo esplicarlo me das una URL y le echo un vistazo.                                
Título: ARB_vertex_blend , ARB_multisample (mi follon antialiasing)
Publicado por: MChiz en 13 de Junio de 2003, 12:08:45 AM
                                Bueno, no se si sabre explicarlo, pero como tampoco me se ninguna URL... alla voy:

Animacion esqueletal es lo que se le aplica a un modelo 3D para animarlo ( que listo soy... ). Existe la animacion por keyframes, que consiste en cada X tiempo, hacer una captura de la malla y guardarla en el archivo. Asi tienes "fotogramas" de la animacion del personaje. Luego, desde el juego, no tienes mas que interpolar las posiciones de los vertices para conseguir una animacion mas o menos fluida. Que problema hay? Que tienes animaciones "estaticas" ( cuando digo estaticas me refiero a que siempre van a ser las mismas. No se explicar mejor el concepto ) y que, por regla general, estas animaciones ocupan bastante en el disco duro ( ya que guardas una copia de toda la malla ( tan solo posiciones de los vertices ) por cada captura ).

La animacion esqueletal es mucho mas ventajosa, aunque un poco mas costosa. Consiste en tener tan solo una instancia de la malla en su posicion base ( algo asi como el hombre ese de Da Vinci, el que esta en forma de estrella... como coño se llama a eso? ) y a partir de ahi, utilizas un esqueleto logico ( que no vienen a ser mas que transformaciones geometricas ( rotaciones y traslaciones ) ) para animar al modelo. De esta forma, la malla siempre estara "adherida" al esqueleto, por lo que cuando muevas la cabeza del esqueleto, su malla correspondiente tambien movera.
Para guardar estas animaciones tambien se hace por keyframes, pero no de la malla. Esta vez se hacen las capturas al esqueleto. Con esto tienes que la animacion ocupa MUCHISIMO menos que en el metodo anterior.

Luego esta lo que he dicho antes de las animaciones "estaticas". Bien, con todo lo que te he explicado sobre la animacion esqueletal no te he resuelto tal problema. Existe una cosa que se llama "cinematica inversa" que sirve para decir cosas del estilo: "Mueve la mano hasta ese pomo. Sigue con la cabeza tal punto. Etc.". Esto con la animacion por keyframes no es posible ( que yo sepa ), pero con la animacion esqueletal si. Lo cual no quiere decir que sea facil ( no me he metido nunca y no creo que lo haga. Las mates para esto... JODER!! ). Lo que tienes que saber hacer es mover la mano del esqueleto a su destino, respetando su jerarquia de huesos ( mano->antebrazo->brazo->etc ) para que no haga movimientos prohibidos ( el codo tiene un grado maximo de rotacion, por ejemplo ;) ) y ya lo tienes. Pero repito que esto es un poco jevi. El 3DStudio MAX lo tiene. Ahi lo puedes ver.

Y nada mas. Si me he equivocado en algo, que alguien me corrija, plis!!
Espero haberte ayudado lo suficiente, Degiik :)

Un saludoteeeeee!!                                
Título: ARB_vertex_blend , ARB_multisample (mi follon antialiasing)
Publicado por: Mars Attacks en 13 de Junio de 2003, 12:50:13 AM
                                AgeR estará de acuerdo conmigo en que la cinemática inversa es CHUNGA DE COJONES, y eso con sólo seis grados de libertad.

Ahora mi explicación de andar más por casa: la diferencia entre animación por keyframes y animación esqueletal es la misma que tendrías entre un muñeco de esos de jesmar que gatean, se levantan, se caen de culo, etc, y un madelman.
El primero te viene con los movimientos predefinidos y sólo tienes que darle al "on" y especificarle qué movimiento quieres que haga.
El segundo es mucho más simple, pero admite posiciones que en un keyframe podrían no estar definidas, con la pequeña "desventaja" de que tienes que currarte tú el tema de decirle al programa: <>.

Tó claro, ¿no?                                
Título: ARB_vertex_blend , ARB_multisample (mi follon antialiasing)
Publicado por: Degiik en 13 de Junio de 2003, 05:37:45 PM
                                Esta claro, gracias a ambos. A ver si alguien me aclara mi follon antialiasinng.

Un saludo.                                
Título: ARB_vertex_blend , ARB_multisample (mi follon antialiasing)
Publicado por: MChiz en 13 de Junio de 2003, 10:14:24 PM
                                http://oss.sgi.com/projects/ogl-sample/reg...multisample.txt

Pues parece que si que es antialiasing.

Me alegro habertelo aclarado : )                                
Título: ARB_vertex_blend , ARB_multisample (mi follon antialiasing)
Publicado por: Degiik en 13 de Junio de 2003, 11:36:08 PM
                                si que es antialiasing, pero como dije en el primer post hay tantas cosas que hace antialiasing... glEnable GL_POINT_SMOOTH GL_POLYGON_SMOOTH y por otro glHint que tb hace antialiasing.

Se pueden mezclar?
Cual es mejor ?
Cuantas cosas de antialiasing, no ?


Un saludo                                
Título: ARB_vertex_blend , ARB_multisample (mi follon antialiasing)
Publicado por: MChiz en 14 de Junio de 2003, 01:10:15 AM
                               
Citar
Se pueden mezclar?
Ni idea.

Citar
Cual es mejor ?
El antialiasing de los drivers :b Panel De Control->Pantalla->etc x))

Citar
Cuantas cosas de antialiasing, no ?
Ya te digo!

A mi la verdad es que esto del antialiasing no me preocupa. Como ya he dicho, esta en los drivers. Tampoco se para que se puede usar todo eso.                                
Título: ARB_vertex_blend , ARB_multisample (mi follon antialiasing)
Publicado por: DraKKaR en 14 de Junio de 2003, 05:58:20 PM
                                Si no me equivoco, el antidentado ese que decis que se puede activar desde la pantalla de configuracion de los drivers es el FSAA, el antidentado a pantalla completa, que se aplica a todos los pixeles de la pantalla indistintamente.
Otra cosa es el antidentado que ofrece esa extension, que lo que hace es suavizar los bordes de los puntos, lineas y triangulos. O al menos eso es lo que entendi cuando me lei la especificacion.
Los glEnable(GL_POINT_SMOOTH); , glEnable(GL_LINE_SMOOTH); y glEnable(GL_POLYGON_SMOOTH); son para habilitar o deshabilitar el multisampleo en cada una de las primitivas.                                
Título: ARB_vertex_blend , ARB_multisample (mi follon antialiasing)
Publicado por: Degiik en 15 de Junio de 2003, 12:21:12 PM
                                ARB_multisample esta integrado en las funciones que trae opengl ? osea cuando utilizamos glEnable(GL_POINT_SMOOTH); , glEnable(GL_LINE_SMOOTH); y glEnable(GL_POLYGON_SMOOTH);  estan utilizando la extension ARB_multisample ?


Un saludo.

P.D: que yo sepa el FFSA solo es de 3dfx...                                
Título: ARB_vertex_blend , ARB_multisample (mi follon antialiasing)
Publicado por: tiutiu en 15 de Junio de 2003, 03:02:35 PM
                                Uy uy, q t estas equivocando sobre el tema d las extensiones. Una cosa es la API general de OpenGL y otra las extensiones, las cuales no todas las tarjetas soportan. Por ejemplo hace poco se comentaba la extension vertex_buffer_object y mi tarjeta no la soporta.

Las funciones de ogl las soportan todos, pero las extensiones dependen del hardware (mirate la doc en http://www.opengl.org). Supongo q no me equivoco en esto ultimo q he dicho, pero lo q si es seguro q las extensiones van por separado y tienes q comprobar si la tarjeta las soporta antes d usarlas.                                
Título: ARB_vertex_blend , ARB_multisample (mi follon antialiasing)
Publicado por: DraKKaR en 15 de Junio de 2003, 03:38:42 PM
                                Las extensiones son una manera de aumentar las capacidades de la API de OpenGL. Por ejemplo, la version 1.1 de opengl no soporta multitexturas. Para que las soporte se creo la extension ARB_multitexture, que aporta nuevas funciones e identificadores para hacer uso de la nueva capacidad.