Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Migrar de DX8.1 a DX9

Iniciado por Haddd, 27 de Diciembre de 2002, 09:11:55 PM

« anterior - próximo »

Haddd

                                Bien, pues he conseguido migrar "un poco" el motor a DX9. La verdad es que MS siempre nos la juega con cada cambio de versión y es algo que ya empiezo a odiar con muchas ganas. Nos han cambiado las declaraciones de los shaders, han añadido clases a objetos que antes no tenían(StateBlock...), han modificado el D3DFrameWork, han cambiado....

La leche. En fin, que los que tengais que migrar, fijaos sobre todo en los shaders, porque han añadido un SetVertexShaderDeclaration que antes no existía.                                

seryu

                                eso di qe si.. yo cada vez qe comento algo del tema en el irc todos se me echan encima.

menudo asco de sdk profesional qe cada version te lo cambian todo. y las versiones no salen cada 5 años precisamente...                                

BeRSeRKeR

                                Pues yo veo lógico que hayan cambios. Al fin y al cabo la tecnología está avanzando mucho en muy poco tiempo y las API se tienen que adaptar a ella. Que tienes que modificar tu motor para dar cabida a estos cambios... pues si, pero de eso no se libra nadie...ni los usuarios de Direct3D ni los de OpenGL...

La prueba está en que si en tu motor no utilizas vertex & pixel shaders pues las modificaciones a realizar son irrisorias pero claro si los utilizas pues es lógico que los cambios sean más profundos, simplemente porque es en ese área donde se están realizando los mayores avances y los cambios más grandes...

Saludos.                                
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

deadLock++

                                Una cosa es extender y otra muy diferente es _cambiar_ . No miré DX9 pero utilicé DX3, DX5, y DX8.0a y existen _cambios_ que parecen rediseños por haber cambiado de opinión respecto al modo de hacer las cosas. Da la sensación que la gente Microsoft va aprendiendo y va resideñando el API.

OpenGL fue realizado de entrada por gente muy experimentada, las extensiones de la ARB que luego se oficializaron fueron upgradeando la versión de OpenGL de 1.1, 1.2, 1.3 etc, pero SIEMPRE se mantuvo la compatibilidad hacia atrás.                                

seryu

                               
CitarDa la sensación que la gente Microsoft va aprendiendo y va resideñando el API.

pienso igual que tu, de hecho las dx ni eran de micosoft, ni nunca han sabido muy bien que hacer con ellas.                                

Degiik

                                Las DX me marean, de unas a otras le dan la vuelta a la tornilla, es por ello que me decante por openGL, y en cuestiones de rendimiento creo que son similares.

Humillante me parece que vayan ya por la 9 y OpenGL por la 1.4  ( 4 versiones ), que pasa, ¿ cambia de nombre a las variables y cambian de verion ?

Tan solo una puntualizacion a Berserker...
"Que tienes que modificar tu motor para dar cabida a estos cambios... "

los directx son compatilbes con versiones anteriores todo un detallazo  8)

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

BeRSeRKeR

                                En realidad de OpenGL creo que hay 6 versiones (1, 1.1, 1.2, 1.3, 1.4 y ¿1.5?) y de Direct3D creo que también 6 (3, 5, 7, 8, 8.1 y 9)...que los saltos entre versiones han sido grandes, ciertamente....que los cambios que hubo en el API entre versiones fue grande, pues sí, hasta la versión 8 los cambios fueron muy grandes. Pero ahora los cambios no se deben a cambios en la estructura del API sino una ampliación necesaria para dar cabida a las nuevas tecnologías.

Si te das cuenta con OpenGL sucede lo mismo a través de las extensiones. Lo que pasa es que creo que aqui la mayoria de la gente no ha afrontado el problema de adaptar su motor a estas nuevas tecnologías (concretamente vertex & pixel shaders) y sigue con sus métodos de toda la vida (métodos que en DirectX tampoco han cambiado en años), lo cual no es malo ni mucho menos, simplemente están obviando el problema que existe en la actualidad y que está haciendo que APIs tan robustas como OpenGL estén planeando su transformación (no se si será una transformación bestial o no pero está claro que va a "cambiar") por lo que no son conscientes del problema.

Y nada más...bueno Degiik, tu puntualización no la he entendido así que no puedo hacer ningún comentario :ojo:

Saludos                                
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

ethernet

Personalmente creo q hay q controlar bastante para poder decir que api es mejor.

Lo unico q puedo decir es q DX suelta un tufillo a la api de windows q tiira para atras (me refiero en cuanto a notacion) y tiene la ventaja de no tener q estar controlando el tema de las extensiones, tener un interface en c++ y tener un monton de utilidades.

Lo de q opengl es compatible hacia atras... alguien sigue usando glVertex ? xD
Lo q esta claro es q lo hombres usamos opengl y las niñas usan DX (tienen miedo a enfrentarse con la realdad) xDDD

saludos

BeRSeRKeR

                                La realidad es que desde el mismo día en que nacemos estamos condenados a morir...esa es la realidad :jaja:                                
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

BeRSeRKeR

                                Por cierto...

CitarPersonalmente creo q hay q controlar bastante para poder decir que api es mejor.

por eso yo en ningun momento he dicho qué API es mejor :ojo:

CitarLo q esta claro es q lo hombres usamos opengl y las niñas usan DX (tienen miedo a enfrentarse con la realdad) xDDD

¡vaya, ethernet, me has descubierto!...sólo una puntualización...yo soy toda una mujer ya  :D

Saludos                                
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Mars Attacks

                               
CitarLo de q opengl es compatible hacia atras... alguien sigue usando glVertex ? xD

Me salió un efecto de estrellas rotando alrededor de un centro de galaxia chulísimo en mi proyectito de Informática Gráfica gracias a glVertex. Hay gente para todo, ¿eh?                                

Grugnorr

                                Mi opinión es que la evolución de DX es real y palpable, digamos que siempre están a la última y en OGL es o lenta o encubierta:

DX cambia para aprovechar el nuevo hardware.

OGL como tarda muchísimo en cambiar por estar regulada por comités y demás burrocracia.

Lo que hacen en OGL para evolucionar más rápido, es sacar extensiones. Las que son tan nuevas como las de la última versión(o varias anteriores) de DX, se sacan como extensiones propias de cada fabricante(Nvidia y ATI principalmente)... lo que lleva a ser un churro mucho mayor, en mi modestísima opinión.

El OGL que la mayoría conocemos claro que es muy bonito y fácil, glVertex(), glColor() y demás lindezas.... que son lentas de cojones, para usar el TN&L(requirimiento mínimo en muchos juegos ya), tienes que empezar a trastear con extensiones.

Los shaders son distintos en cada fabricante, también...


Pero weno, con las OGL 2.0 el mundo cambiará, así que cada cual lo que más le guste, las OGL son portables ;). Ya ha habido miles de flamewars de OGL vs D3d, cada cual que escoja, para gustos....

PD: El OGL que he usado yo no llegó a usar ni una extensión, pero está claro que para hacer el equivalente a las DX7, varias extensiones, DX8 muchas, DX9 alguna más que DX8, DX10? :P                                
hat the hells!

BeRSeRKeR

                                Preguntadle al amigo Carmack cuántos backends de render ha tenido que crear para doom3 (hasta lo que yo se 4 lo menos) :loco:

Hmm....si OpenGL es simplicidad....

Y es en lo que estamos y lo que ha mencionado Grugnorr, sólo los que se han adentrado a aprovechar las últimas tecnologías saben el lio que se está montando con OpenGL (de ahí que planifiquen OpenGL 2.0)

Saludos                                
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

ethernet

Una nota: lo de dx para niñas y ogl para hombres era una broma, no quiero provocar flames por ello :).

BeRSeRKeR

                                Juas...tranqui hombre que ya me lo imaginaba..para que yo me mosquee tienen que pasar muchas cosas a la vez  :D                                
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!






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.