Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: Haddd en 27 de Diciembre de 2002, 09:11:55 PM

Título: Migrar de DX8.1 a DX9
Publicado por: Haddd en 27 de Diciembre de 2002, 09:11:55 PM
                                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.                                
Título: Migrar de DX8.1 a DX9
Publicado por: seryu en 27 de Diciembre de 2002, 09:14:10 PM
                                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...                                
Título: Migrar de DX8.1 a DX9
Publicado por: BeRSeRKeR en 27 de Diciembre de 2002, 10:18:30 PM
                                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.                                
Título: Migrar de DX8.1 a DX9
Publicado por: deadLock++ en 27 de Diciembre de 2002, 10:40:48 PM
                                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.                                
Título: Migrar de DX8.1 a DX9
Publicado por: seryu en 27 de Diciembre de 2002, 11:11:16 PM
                               
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.                                
Título: Migrar de DX8.1 a DX9
Publicado por: Degiik en 28 de Diciembre de 2002, 02:17:29 PM
                                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                                
Título: Migrar de DX8.1 a DX9
Publicado por: BeRSeRKeR en 28 de Diciembre de 2002, 02:43:31 PM
                                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                                
Título: Migrar de DX8.1 a DX9
Publicado por: ethernet en 28 de Diciembre de 2002, 03:05:10 PM
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
Título: Migrar de DX8.1 a DX9
Publicado por: BeRSeRKeR en 28 de Diciembre de 2002, 03:09:39 PM
                                La realidad es que desde el mismo día en que nacemos estamos condenados a morir...esa es la realidad :jaja:                                
Título: Migrar de DX8.1 a DX9
Publicado por: BeRSeRKeR en 28 de Diciembre de 2002, 03:17:59 PM
                                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                                
Título: Migrar de DX8.1 a DX9
Publicado por: Mars Attacks en 28 de Diciembre de 2002, 05:08:14 PM
                               
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?                                
Título: ...
Publicado por: Grugnorr en 28 de Diciembre de 2002, 06:10:00 PM
                                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                                
Título: Migrar de DX8.1 a DX9
Publicado por: BeRSeRKeR en 28 de Diciembre de 2002, 07:36:00 PM
                                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                                
Título: Migrar de DX8.1 a DX9
Publicado por: ethernet en 28 de Diciembre de 2002, 07:51:41 PM
Una nota: lo de dx para niñas y ogl para hombres era una broma, no quiero provocar flames por ello :).
Título: Migrar de DX8.1 a DX9
Publicado por: BeRSeRKeR en 28 de Diciembre de 2002, 08:00:04 PM
                                Juas...tranqui hombre que ya me lo imaginaba..para que yo me mosquee tienen que pasar muchas cosas a la vez  :D                                
Título: Migrar de DX8.1 a DX9
Publicado por: CoLSoN2 en 28 de Diciembre de 2002, 08:17:11 PM
                               
CitarUna nota: lo de dx para niñas y ogl para hombres era una broma, no quiero provocar flames por ello :).
Cómo que no? Tú eres el primero en darle caña a los flames! XDDDD                                
Título: Migrar de DX8.1 a DX9
Publicado por: ethernet en 28 de Diciembre de 2002, 08:54:45 PM
boh xDD calla calla q la mitad de los post interesantes terminan en flames xD

saludos
Título: Migrar de DX8.1 a DX9
Publicado por: MChiz en 29 de Diciembre de 2002, 02:12:14 AM
                                Mi opinion es que, tal y como estan las cosas, OpenGL es genial para aprender y Direct3D es lo suyo a la hora de hacer cosas en serio.                                
Título: Migrar de DX8.1 a DX9
Publicado por: ethernet en 29 de Diciembre de 2002, 04:36:27 AM
Yo creo q con opengl se pueden hacer cosas serias (quakes's y derivados y ahora doom's)
Título: Migrar de DX8.1 a DX9
Publicado por: MChiz en 29 de Diciembre de 2002, 11:03:20 AM
                                No digo que no se pueda ( yo soy y sere siempre de OpenGL ), pero reconozcamos que el tema de las extensiones esta un poco liado. Con Direct3D esta muy bien lo de poder mirar cualquier capacidad de nuestra tarjeta. Por ejemplo, una pregunta que me he hecho siempre: se puede mirar con GL si nuestra tarjeta soporta alpha blending?                                
Título: Migrar de DX8.1 a DX9
Publicado por: seryu en 29 de Diciembre de 2002, 04:06:49 PM
                                esta claro, OGL es el api de la gente Carmack  :X9:                                
Título: Migrar de DX8.1 a DX9
Publicado por: BeRSeRKeR en 29 de Diciembre de 2002, 04:42:04 PM
                                jaja...fíjate que yo me considero un admirador aférrimo de John Carmack...de hecho empecé con esto de las 3D porque me encantaba las cosas que él hacía...y cómo no, empecé con OpenGL y así estuve 2 años y pico...por aquella época empezaba a meterme con la multitextura y todo eso y la verdad es que empezaba a ser un follón. Hasta que se cruzó en mi camino Direct3D8 y cuando ví lo sencillo que era hacer single pass multitexturing (no digo que en OpenGL sea difícil pero en D3D es más sencillo), y algunas cosas más, me pasé sin pensarlo dos veces y aquí sigo...yo estoy muy contento con Direct3D. Ya veremos lo que nos depara OpenGL 2.0. Está claro que yo voy al que considero mejor y más sencillo de programar...nadie me paga por utilizar D3D  :ojo:...así que si OpenGL mejora lo suficiente en la versión 2.0 (que espero que OpenGL siga gozando de buena salud por el bien de todos...menos de MS :D)  pues quien sabe lo que puede pasar. Para entonces supongo que también estará rulando DX10 :D

Saludos!                                
Título: Migrar de DX8.1 a DX9
Publicado por: seryu en 29 de Diciembre de 2002, 09:16:18 PM
                                si es lo de siempre, una cosa no es incompatible con otra :P nadie te impide usar las dos apis, qe solo son herramientas, no formas de vida..

ya me repito  8)                                
Título: Migrar de DX8.1 a DX9
Publicado por: Haddd en 30 de Diciembre de 2002, 09:58:13 AM
                                Yo llevo usando las DX desde la versión 5 y en cada versión que sale ocurren dos cosas:

1) Yo sé más
2) MS sabe más

El primer punto no es malo, pero el segundo sí lo es porque deciden cambiarlo todo de base. A eso se le llama FALLO DE ANALISIS, y es un error desde mi punto de vista muy grave. No es de recibo que AHORA decidan incluir el GetDC en las surfaces y en la 8 lo quitaran y eliminaran DDraw. Parece ser que el que toma decisiones sabe mucho de matemáticas pero poco de desarrollo de juegos. Lo de los SwapChains es una porquería, desde mi point of view. Lo suyo es lo que hace OGL, un RenderContext y listo! Y están intentando arreglarlo, y se dan cuenta de que ahora si en el RenderTarget añaden un parámetro que identifica el SwapChain, pues todo irá más rápido. Eso obliga a reestructurar tu motor para poder hacer acopio de esas opciones, algo que NO debería ser así.

Después te modifican los Shaders pero NO son compatibles hacia atrás, sino que los cambian completamente. Y te modifican DrawIndexedPrimitive para que no tengas que cambiar el SetIndices. Y la leche es que te dividen el RenderState en 2, uno el de siempre y otro el de Samples.¡Para mi eso es un fallo terrible de análisis!

Sin embargo, os diré en su defensa que me da la impresión de que esto va a mejor porque los cambios son lógicos y quizás por fin sean estables. Y otra cosa, el modo debug de D3D es fantástico. Yo por suerte puedo rehacer mi motor para aprovechar estas opciones pero no me imagino una empresa de videojuegos rehaciendo el motor cada vez que sale una nueva versión de DX.                                
Título: Migrar de DX8.1 a DX9
Publicado por: ProD en 01 de Enero de 2003, 11:13:54 PM
                                Yo pienso que los cambios que hacen en DirectX son lógicos y correctos, y es que a base de ir haciendo nuevas versiones van refinando más el API y si hay que poner un parámetro más en la función X pues de pm porque seguramente todo irá más rápido si no te gusta... sigue usando la versión anterior o cambiate a ogl  :jaja: