Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





opengl o directX?

Iniciado por sesa, 16 de Junio de 2003, 12:58:11 AM

« anterior - próximo »

BeRSeRKeR

                                No creo que hayan querido decir que OpenGL sólo sirva para cosas simples (como tú has dicho, DraKKar, ahí está doom3). Lo que han querido decir es que mientras no te salgas de lo común, OpenGL es simple de programar. Pero en el momento que quieras hacer uso de las últimas tecnologías (y no tan últimas), entonces es cuando Direct3D es una API más sencilla y fácil de programar que OpenGL (por lo menos para los no expertos). Ahí es donde OpenGL se convierte en un lio. Supongo que todo cambiará con OpenGL 2.0. Cuando todas las funciones estén integradas en la API y no haya que echar mano de las extensiones. Aún así, supongo que la política de extensiones continuará ya que de lo contrario OpenGL se convertiría en Direct3D, es decir, un API que estaría en constante cambio...son dos formas de ver las cosas. Yo personalmente prefiero que el API cambie (que tampoco es para echarse a temblar) y así tener todas las funciones integradas en la API y además saber que siempre estás utilizando el estándar (nada de extensiones propietarias, por ejemplo).

Y nada más. La verdad es que no quería intervenir porque siempre acaba montándose el pollo (a parte de que tampoco soy quién para decirte "utiliza uno u otro" :ojo:). Sólo espero no haber sido demasiado agresivo y no haber dicho algo que no sea cierto :ojo:.

Bueno se me olvidaba. Mi consejo es. Si quieres algo multiplataforma, OpenGL es el camino. Si vas a programar exclusivamente para windows, utiliza OpenGL ó Direct3D (o los dos). Si te metes con uno y ves que no te gusta, pues pruebas con el otro. Lo único que debes tener en cuenta es que tanto con uno como con otro podrás hacer exactamente lo mismo (que no te coman la cabeza de que si con uno se consigue más calidad gráfica que otro o que uno es más rápido que otro porque eso son simplemente chorradas de gente que no tiene ni zorra).

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

Grugnorr

                                Como dice Berserker, evidentemente no hemos dicho que OGL sea para cosas fáciles. Léelo con detenimiento, hemos dicho que es más fácil OGL para cosas simples y más complejo para cosas algo más avanzadas.

Hasta para multitextura, que es lo más básico del universo desde hace años, tienes que liarte con extensiones.

CitarY tengo entendido que OpenGL soporta automaticamente la tecnologia TNL siempre que el driver lo soporte.  

Uhmmm, en OGL se aprovecha el TN&L(y se ahorra una infinidad de CPU) usando Vertex Arrays y otras extensiones propietarias en ves de los glVertex(). No entiendo bien lo de que lo soporta automáticamente. Sin el equivalente a un VertexBuffer no se puede aprovechar.... creo  :idea:


En el fondo lo que manda es la tarjeta gráfica, con las 2 APIs se accede a su funcionalidad, así que cada cual como la prefiera.                                
hat the hells!

Zaelsius

                                Dejando aparte la discusion sobre el API, si quereis hacer un motor desde cero pensaoslo muy bien... Si es vuestro primer juego sería mejor que utilizaseis un motor/librería de terceros para que no os tuvieseis que preocupar de las cuestiones más técnicas y pudieseis dedicaros a programar el "juego en sí". Si optais por hacer un motor, pasará mucho tiempo hasta que tengais algo decente moviendose en la pantalla, y puede que os desanimeis...

Lo digo porque esto es muy común, y es bueno saber lo que hay...                                

MaSteR

                                Yo esq a estas alturas n se cm os atreveis a "desprestigiar" a OGL respecto de DX, aaaaaaaaaai si Carmak levantara la cabeza y mirara este post, :D.

Pues te digo cm a quien me dice la frase de DX:
->Los hombres usamos DX
Prompt: Los hombres usamos OGL y portamos el codigo. :D
(esto es wasa mia con la gente, abstenerse de criticas si n son de wasa, n vamos a hacer un flame post de esto...)

Respecto a tu duda... pues yo te digo q hay 4000000000 de manuales, codigos open, tutoriales!! yo q se hay de todo para OGL, DX carece de eso pero viene un pakete con el SDK con demos y demas, creo q deberias bajarte el SDK y ver varias webs sobre OGL y deducir tu mismo q te conviene, nosotros solo podemos darte preferencias de las cosas q hacemos Y NOS VA BIEN, yo use DX9 cuando ya habia empezado con mi engine en OGL me gusto bastante, peor me gusto mas la idea de q mi codigo n se queda desfasado con el paso de versiones de OGL y q es portable a diferentes plataformas, y todos sabemos q cm en linux n rula ningun juego (o quien n lo sepa q pruebe xD jejejee).

*Respecto a lo q dicen q es mas facil las cosas complicadas NUEVAS con DX, pues cm n he probado pues n lo se, auqnue es logico y es tradicion de hacer ese tipo de cosas en DX y en OGL pues create tu tus propios cargadores de .x (MEASHs) por ejemplo.

con esto quiero decir q DX con una funcion carga objetos .x, y con 3 funciones todo listo, y con OGL pues tienes q hacerlo tu, pero por eso te digo q hay millones de codigos por ahi dnd hacen esas cosas, con lo cual DX se queda en bragas por variedad, pero REITERO q si os referiais a eso es cierto te dara menos quebraderos de cabeza para cosas q DX ya tiene pensadas y demas, cm la carga de meshes (q es un ejemplo).                                

MChiz

                                Yo te recomiendo Direct3D. Es lo que hay en la industria. OpenGL estaba muy bien, pero ahora se han cambiado los papeles... pobrecita OpenGL... con lo que a mi me gusta : (
Por aqui han dicho no se que de la multitextura en GL... y es un puto coñazo. Es una de las peores cosas que tiene. En Direct3D esta muchisimo mejor parido.                                

Daventry

                                Master, eso de que DirectX carece de tutoriales será porque tú lo digas. A lo mejor es que no te has molestado en buscarlos, porque los hay a patadas, y lo mismo te digo de los libros.

Un saludo.                                
img src='http://www.danasoft.com/sig/vipersig.jpg' border='0' alt='user posted image'>

Ithaqua

                                No se que tiene de especial la multitextura de OpenGL.
La multitextura desde la versión 1.2 dejó de ser una extensión, lo que pasa es que si microsoft no quiere proveer más que la versión 1.1 de la librería no es culpa de OpenGL precisamente :)

Hay muchas librerías por ahí que permiten manejar todas las extensiones sin que tengamos que picar una línea de código para inicializarlas, y usarlas como si fueran parte del api:

http://www.levp.de/3d/extensionlib.html                                
thaqua^Stravaganza
http://ithaqua.stravaganza.org

MaSteR

                                me referia a la cantidad y la calidad en comparacion con los q hay de DX                                

Grugnorr

                                Mira Master, paso de leerme un post con tanta tontería como si se es más hombre por usar una API u otra.

Te hice una pregunta que has contestado:
Citar*Respecto a lo q dicen q es mas facil las cosas complicadas NUEVAS con DX, pues cm n he probado pues n lo se, auqnue es logico y es tradicion de hacer ese tipo de cosas en DX y en OGL pues create tu tus propios cargadores de .x (MEASHs) por ejemplo.  

No hablo de eso precisamente, pero vamos, como has dicho no lo sabes.

Ithaqua: Lo de la multitextura era como ejemplo de lo más básico.  Si con alguna librería no intrusiva se pueden manejar las extensiones muy simplemente, entonces OGL + esa librería estaría muy bien.                                
hat the hells!

MaSteR

                                pues lee otra vez, pq dice q n digais tonterias sobre eso y vas y lo dices, ya empezamos con la gente q hace flames joder q asco... y luego si te he contestado, la leche q gente.

*por lo q mas quieres n me contestes y pasa del tema pliz q n hay q flamear.                                

Grugnorr

                                ......                                
hat the hells!

sesa

                                Buen rollo hombre. No sus peleis.
No era mi intención buscar enfrentamientos opengl / directX, sino más bien saber que t ofrece una q no t ofrezca la otra. Por ejemplo el tema d
las extensiones en opengl.

En cuanto a lo d usar un motor ya hecho...Es una buena idea xo lo q
nosotros qeremos es currarnos el motor. Sabemos q llevará mucho tiempo pero asi es como se aprenden todos esos conceptos. Además así tiene mas mérito.
Lo q si q tenemos q hacer es ver motores ya hechos y documentación para diseñarlo bien. Sabeis d algún tutorial q este bien?

X cierto Loover no soy el sesa q dices                                

MaSteR

                                Quereis hacer un motor a partir de ver cm se ha hecho uno? :)

Mira deberiais pensar 1º en varias cosas para hacerlo.

Mapa.Mapa de alturas, Octrees etc...
Personajes y objetos.MD2, MD3, propio......
Colisiones SERIAS entre estos 2 anteriores.n hacer un mapa de altura con sistema de colisiones y luego le metes objetos y los traspasa.......
(Yo por ejemplo creo mi mapa con el MAX, exporto a 3ds y mi engine crea un Octree a partir de la informacion del 3ds (texturas y todo eso...)
Luego utilizo sistema de colision por ESFERA.Lo cual quiere decir q tengo el mejor editor de mapas q se puede tener :P y los objetos q cree a parte del terreno base o malla tendra colision.
Es online?UDP o TCP o ambos?

ESO DE BASE lo demas es artificios, cm stencil shadow, sistemas de particulas... esas cosillas.Pero es muy importante tener una buena base.                                

Zaelsius

Aquí hay MUY BUENOS tutoriales de DirectX 8.0 y 9.0:

http://www.32bits.co.uk

Un motor en desarrollo con el que aun no se pueden hacer grandes cosas pero que acaba de empezar y que tiene un diseño de base excelente. Si quereis ver cómo se empieza un buen motor, miraos este:

http://irrlicht.sf.net

Repito que aun está en pañales, pero el diseño es cojonudo... :-)

EDIT:

CitarSabemos q llevará mucho tiempo pero asi es como se aprenden todos esos conceptos. Además así tiene mas mérito.

-El juego de Los Sims es nº 1 en ventas y no tiene ningún mérito :-P

-No hace falta hacer un motor completo para asimilar la mayoria de los conceptos.

fiero

                                Da igual lo que uses. Echalo a suertes.
Una vez tengas implementado algo del motor con una API, si realmente has hecho las cosas bien, te costará implementar también la otra API muy poco. Quizás te aconsejaría DX9, pero vamos, igual da que da lo mismo...

un saludo                                
www.videopanoramas.com Videopanoramas 3D player






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.