Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





ARB_vertex_blend , ARB_multisample (mi follon antialiasing)

Iniciado por Degiik, 11 de Junio de 2003, 02:47:13 PM

« anterior - próximo »

Degiik

                                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 ?                                
egiik: h-O-5 hoja/ingestión 100mo Vida suspendida ( 1 día )

MChiz

                                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.                                

Degiik

                                "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.                                
egiik: h-O-5 hoja/ingestión 100mo Vida suspendida ( 1 día )

MChiz

                                Claro. Digamos que haces animacion esqueletal por hardware.                                

Degiik

                                El problema MChiz es q no se que es "animacion esqueletal por hardware".

Un saludo.                                
egiik: h-O-5 hoja/ingestión 100mo Vida suspendida ( 1 día )

MChiz

                                Perdon :b

Para empezar: conoces la animacion esqueletal?                                

Degiik

                                No.  8)  Ni jodienga idea. Si es mu chungo esplicarlo me das una URL y le echo un vistazo.                                
egiik: h-O-5 hoja/ingestión 100mo Vida suspendida ( 1 día )

MChiz

                                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!!                                

Mars Attacks

                                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?                                

Degiik

                                Esta claro, gracias a ambos. A ver si alguien me aclara mi follon antialiasinng.

Un saludo.                                
egiik: h-O-5 hoja/ingestión 100mo Vida suspendida ( 1 día )

MChiz

                                http://oss.sgi.com/projects/ogl-sample/reg...multisample.txt

Pues parece que si que es antialiasing.

Me alegro habertelo aclarado : )                                

Degiik

                                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                                
egiik: h-O-5 hoja/ingestión 100mo Vida suspendida ( 1 día )

MChiz

                               
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.                                

DraKKaR

                                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.                                

Degiik

                                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...                                
egiik: h-O-5 hoja/ingestión 100mo Vida suspendida ( 1 día )






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.