OpenGL bajo Windows Vista API de segunda

Pues eso, visitando la web oficial de openGL y parece ser que OpenGL va a pasar a un segundo plano en el nuevo sistema operativo de Microsoft, siendo una parte integrada en DirectX, y posiblemente disminuyendo su rapidez hasta en un 50%.
Por lo tanto yo me imagino que los desarrolladores tendran que dejar de lado OpenGL ya que no sera competitivo y tendran que hacer sus proyectos unicamente bajo DirectX, por lo que podemos decir adios a juegos y programas multiplataforma.
Se puede hacer algo, un petitiononline o algo similar?
Que raro, Microsoft atacando a uno de los pilares de linux ...
Txukie escribió:Por lo tanto yo me imagino que los desarrolladores tendran que dejar de lado OpenGL ya que no sera competitivo y tendran que hacer sus proyectos unicamente bajo DirectX, por lo que podemos decir adios a juegos y programas multiplataforma.

No solo adios a los juegos multiplataforma: adios a una de las pocas plataformas estandarizadas por una comunidad/consorcio que quedaban por ser destruidas por prácticas monopolísitcas de M$.

Lo único que podemos hacer es, como hasta ahora, seguir programando en OpenGL.

OpenGL es la MEJOR opción a la hora de programar gráficos 3D... quizás no sea la más facil, pero te deja programar DE VERDAD de manera gráfica, de modo que tu controlas el 100% de la tarjeta gráfica (lo que se llama "modo inmediato", de lo cual carece DirectX).

Más info:

http://www.devmaster.net/wiki/Direct3D_vs._OpenGL

Todos hemos de programar en OpenGL!!!

Ya se utiliza en los medios "profesionales": desde la Light and Magic hasta la Pixar utilizan OpenGL en sus proyectos más complejos. Los proyectos de render 3D en hospitales de organos, cánceres... se hace en OpenGL... la Playstation 3 se programará en OpenGL!

Microsoft no debe ganar esta batalla...
¿Porque no me sorprende? [enfa]

¿Pero eso es legal? ¿No es tambien una estrategia monopolistica?
J0han escribió:¿Porque no me sorprende? [enfa]

¿Pero eso es legal? ¿No es tambien una estrategia monopolistica?


Si, pero explicale la jugada a un juez ó a un político [triston]
Vamos a ver, yo no soy programador gráfico ni sé gran cosa del tema, así que vaya por delante que lo que expongo son conjeturas que se me ocurren al haber leído la noticia.

Hasta donde yo sé, todo el escritorio y todas las aplicaciones en el Vista van a pasar a estar aceleradas mediante Direct3D de una forma similar a lo que MacOS X hace con OpenGL.

Si el escritorio en sí es por tanto una especie de aplicación Direct3D, se me ocurren ahora mismo tres preguntas:

1) ¿Es posible que una aplicación en ventana en OpenGL tenga problemas para ejecutarse o su rendimiento sea inaceptable por entrar en conflicto con ese escritorio Direct3D?
2) Si es así... ¿esto que va a hacer MS no es una forma de intentar arreglar ese problema? ¿O había realmente alternativas mejores?
3) Los juegos 3D no se usan habitualmente en ventana, por tanto ¿es posible que se pueda producir un "cambio de modo gráfico" por llamarlo así que desactive el escritorio 3D y permita que los juegos OpenGL se ejecuten a la perfección, con rendimiento pleno, en pantalla completa?

Antes de empezar a rasgarnos las vestiduras, a ver si alguien con conocimiento de causa entendido en estos temas puede contestar a eso de arriba y aclarar las cosas.
Esto se podria pasar a portada? Me parece algo bastante importante y un movimiento peligroso por parte de Microsoft que todos deberiamos conocer......
Rurouni escribió:Todos hemos de programar en OpenGL!!!

la Playstation 3 se programará en OpenGL!


Las dos únicas esperanzas reales que nos quedan, además del tío ese que programa los quakes... sí hombre, ese que no sabe nada, Juan creo que se llama XD

salu2
Briareos_H escribió:
Las dos únicas esperanzas reales que nos quedan, además del tío ese que programa los quakes... sí hombre, ese que no sabe nada, Juan creo que se llama XD

salu2

¿John Carmack?

Como la Ps3 se programara en OpenGL seguramente los
multiplataforma tendran que ir en OpenGL (por que no se podra
progarmar en DX) asi que por ejemplo en su 360 no podran
boicotear el OpenGL
Con lo que unico que pueden lograr es que el Doom3
valla muy mal en Hasefroch Vista.
¿Por cierto que motivo puede tener la gente para actualizarse
a parte de lo dicho el DRM y las incompatibilidades hacia atras?
(supongo que la gente se lo pillara pirata por tener lo
último, triste pero cierto)

Eso si yo lo de programar en OpenGL lo
tengo claro, más que nada por que en la Escuela nos enseñaron
OpenGL y de DX ni papa :Ð
Hola de nuevo,

Esto se podria pasar a portada? Me parece algo bastante importante y un movimiento peligroso por parte de Microsoft que todos deberiamos conocer......
Ayer tarde le envié una nota a jiXo nada más enterarme... no he recibido respuesta ni tampoco he visto la noticia. Edito: Me ya me ha contestado, lo han de confirmar para ponerlo en portada ;)

¿John Carmack?
Mi idolo... o al menos uno de ellos. El 90% del motor gráfico de Doom 3 lo hizo el, en OpenGL... libera todos los juegos que crea cuando se acaba su vida comercial y hará 4 años donó 10.000$ a la FSF. Como añadido diré que para presentar Windows95 como plataforma para juegos, microsoft pagó a Carmack para que portara Quake a Windows... por supuesto, en OpenGL.

Dijo que Microsoft le dió el kit de desarrollo para XBox para portar Doom3 a esta, y usaba DirectX... pasó del Direct3D y se hizo SUS PROPIOS DRIVERS OPENGL PARA XBOX y no cambió prácticamente nada más del código del engine... como resultado, uno de los juegos con mejores gráficos de la máquina. Las capturas que hay por ahora de Half Life 2 para XBox son penosas en comparación, y eso que está programado con Direct3D!!!

1) ¿Es posible que una aplicación en ventana en OpenGL tenga problemas para ejecutarse o su rendimiento sea inaceptable por entrar en conflicto con ese escritorio Direct3D?
2) Si es así... ¿esto que va a hacer MS no es una forma de intentar arreglar ese problema? ¿O había realmente alternativas mejores?
3) Los juegos 3D no se usan habitualmente en ventana, por tanto ¿es posible que se pueda producir un "cambio de modo gráfico" por llamarlo así que desactive el escritorio 3D y permita que los juegos OpenGL se ejecuten a la perfección, con rendimiento pleno, en pantalla completa?

El problema es que MS intenta quitar de enmedio a OpenGL sin dejarle acceder al hardware teniendo que pasar por Direct3D, lo cual ralentiza todo el proceso. No solo en ventana, también en pantalla completa, aunque "en teoría" no sea así ya que según M$ "solo será para lo que se vea en el escritorio"... pero si es a nivel de implementación... ni escritorios ni leches.

Eso si yo lo de programar en OpenGL lo
tengo claro, más que nada por que en la Escuela nos enseñaron
OpenGL y de DX ni papa
Es lo que enseñan porque es matemáticamente coherente (DX no te deja hacer según que cosas porque están "implementadas de serie"), además de un standard.

Con DX debes aprender además la API de microsoft, que solo es válida para windows y que cambia cada 2 versiones...

Por Dios... me mejor me tomo una tila que este asunto me ha tocado demasiado cerca...

Saludos.
Esto es realmente un tema preocupante.

Windows Vista viene dispuesto a cargarse la informática de forma definitiva [mad]

Harl escribió:¿Por cierto que motivo puede tener la gente para actualizarse
a parte de lo dicho el DRM y las incompatibilidades hacia atras?
(supongo que la gente se lo pillara pirata por tener lo
último, triste pero cierto)


¡Qué razon tienes, por desgracia!

Salu2
Rurouni escribió:
El problema es que MS intenta quitar de enmedio a OpenGL sin dejarle acceder al hardware teniendo que pasar por Direct3D, lo cual ralentiza todo el proceso. No solo en ventana, también en pantalla completa, aunque "en teoría" no sea así ya que según M$ "solo será para lo que se vea en el escritorio"... pero si es a nivel de implementación... ni escritorios ni leches.


Que MS construyó DirectX con ese propósito en mente lo sabemos todos. Pero eso sigue sin aclararme nada respecto a esta noticia en concreto...
Rurouni escribió:OpenGL es la MEJOR opción a la hora de programar gráficos 3D... quizás no sea la más facil, pero te deja programar DE VERDAD de manera gráfica, de modo que tu controlas el 100% de la tarjeta gráfica (lo que se llama "modo inmediato", de lo cual carece DirectX).

Mi madre, ¿pero tú sabes lo que dices?
Mejor dicho, ¿tú has programado alguna vez en D3D?
Amos a ver, el "modo inmediato" es una cosa tan simple como meter vértices uno por uno, y en DX también puedes hacerlo también, que cosas, aunque no de una forma tan directa (glVertex y cosas así)

En cualquier llamar a una función en cada vértice es una burrada de cara al desarrollo final, para datos grandes es más efectivo usar un array.
De hecho, la PSP que usa OpenGL, no tiene modo inmediato.
No te puedo dar fuente, pero creo que salió en la GDC. A mi me lo comentó Daniel Sanchez-Crespo.

Y según ese artículo no puedes usar funcionalidad de la tarjeta que no venga en la API, -lo cual es cierto para cualquier API incluida OpenGL- El caso es que en ese artículo se considera una "feature" las extensiones de OpenGL, es decir parches para usar nuevas funcionalidades proporcionados por el fabricante, es decir, una extensión a la API.
La pena es que esas funcionalidades las suele tener Direct3D de serie por que hoy en día son los fabricantes los que intentan cumplir las especificaciones de DX, y no al revés.

Rurouni escribió:Dijo que Microsoft le dió el kit de desarrollo para XBox para portar Doom3 a esta, y usaba DirectX... pasó del Direct3D y se hizo SUS PROPIOS DRIVERS OPENGL PARA XBOX y no cambió prácticamente nada más del código del engine... como resultado, uno de los juegos con mejores gráficos de la máquina. Las capturas que hay por ahora de Half Life 2 para XBox son penosas en comparación, y eso que está programado con Direct3D!!!

Ejem, ¿y eso cómo lo hizo si el port del juego no corrio a cargo de ID.? Vamos, o eso o tiene el don de la ubicuidad, que yo también lo considero un Diox, pero es una manera de hablar.
Supongo que con el SDK le darían las specs completos de la gráfica por que si no no se cómo se haría él los drivers...
Vamos, que los que portaron el juego portaron realmente todo el motor a la versión de DirectX de XBOX, a no ser que me enseñes una fuente claro.


El problema es que MS intenta quitar de enmedio a OpenGL sin dejarle acceder al hardware teniendo que pasar por Direct3D, lo cual ralentiza todo el proceso.

Direct3D también usa el hardware, si realmente es un simple wrapper la pérdida de rendimiento no creo que llegara al 50% como dicen ahí.
De todas maneras es estúpido, prácticamente TODAS las tarjetas aceleradoras implementan DX, es más, es DirectX el que le dice a las tarjetas cómo evolucionar, así que si vas a usar windows, es estúpido forzar a usarlo bajo OpenGL. De hecho en la propia opengl.org anotan que esta medida es para AERO, el subsistema que renderiza las ventanas. No sólo es una decisión política, como dicen ahí, sino que hacer el encapsulado es más simple que programar la funcionalidad de OpenGL entera, ni más ni menos.

No solo en ventana, también en pantalla completa, aunque "en teoría" no sea así ya que según M$ "solo será para lo que se vea en el escritorio"... pero si es a nivel de implementación... ni escritorios ni leches.

Pues ya será una putada, porque la implementación de la API OpenGL corre a cargo del fabricante (NVidia ATI) así que jodido lo tienen para las aplicaciones en ventana...

Es lo que enseñan porque es matemáticamente coherente (DX no te deja hacer según que cosas porque están "implementadas de serie"), además de un standard.
¿Por ejemplo? Es que eso es uno de los multiples FUDs contra DX, que, curiosamente, nunca he visto demostrado...

Con DX debes aprender además la API de microsoft, que solo es válida para windows y que cambia cada 2 versiones...

¿Te suena de algo los interfaces COM.? Lo único que puedes achacar a MS es que no mantenga la documentación de versiones antiguas (por ejemplo han eliminado toda la doc DirectDraw, aunque puedes solicitar un interface DX6 y usarlo en cualquier versión de DX 6.0 o superior.
Claro que quizás lo mejor es esperar a que después de x años OpenGL pase a la versión 2.0 (siii por fin) y mientras tanto que cada fabricante tenga que añadirle extensiones para no quedarse atrás, por lo que estás igual.


Resumiendo, MS ha decidido currar menos al implementar su subsistema de ventanas y hacer un encapsulado de OpenGL para renderizar el subsistema de ventanas.
¿Ha quedado claro lo del subsistema de ventanas?

PD: Por cierto, PS3 se programará en OpenGL ES con extensiones de Sony claro ;)

PPD: ¿Quien dice que X360 tendrá una implementación OpenGL? No me parece a mi, de la misma forma que XBOX tampoco la tiene.

PPD: De la discusión de flipcode la mejor frase: "about carmack, directx is not "carmack compilant" so directx guys are not cool. " [tadoramo]



Edito
Que MS construyó DirectX con ese propósito en mente lo sabemos todos. Pero eso sigue sin aclararme nada respecto a esta noticia en concreto.

Ejem directx se creo para que los programadores abandonaran completamente el DOS para programar en Windows95 ya que al principio era más fácil programar en dos y currarte tú los drivers que hacerlo a pelo en windows. Aparte de unificar la forma de tratar los periféricos, tarjetas de sonido, etc. Vamos, que en ese caso windows fue más rápido y más listo, aunque necesitara de varias versiones para pulirlo.
Y también recuerdo que cuando dx apareció OpenGL no sabía prácticament nadie lo que era, y menos en un juego de PC.
Menos comentarios sectarios please ;)
Zheo, no dudo que lo que digas sea verdad, nunca he experimentado con DX mas que nada por falta de ganas/paciencia, aunque se que ha avanzado mucho durante estos ultimos años, pero debes darte cuenta que lo importante de esto es que Microsoft va a dejar OpenGL de lado, poniendola en inferioridad con respecto a DirectX, y esto es una putada por el simple hecho de que DirectX no es multiplataforma y no es el estandar.

Cierto es que OpenGL necesitaria un empujon muy grande y remodernizacion, pero Windows deberia seguir dando soporte a esta tecnologia que es un estandar y que sigue teniendo mucho potencial para hacer aplicaciones peores, iguales o mejores que con DX segun la pericia del programador.

Imagina que todos los programas de CAD, de diseño en 3D o juegos por poner 3 ejemplos rapidos que me vengan a la mente se programan bajo DirectX porque rinden mejor (sea un 50% o un 10%), esto dificultaria el que fuesen portados a otras plataformas, ya que habria que reescribir todo el codigo del motor.
Hola de nuevo,

te respondo:

Mi madre, ¿pero tú sabes lo que dices?
Mejor dicho, ¿tú has programado alguna vez en D3D?
Si.
Amos a ver, el "modo inmediato" es una cosa tan simple como meter vértices uno por uno, y en DX también puedes hacerlo también, que cosas, aunque no de una forma tan directa (glVertex y cosas así)
Si el lenguaje no te dá una forma directa de trabajar con las unidades más pequeñas... entonces no es modo inmediato... lo cual, si encima implementamos OpenGL sobre una API que para enviar un vertice a secas se deben llamar varias funciones (no inmediato, aunque al final hagas lo "mismo" que en modo inmediato), que nos queda? una mierda ralentizada.
En cualquier llamar a una función en cada vértice es una burrada de cara al desarrollo final, para datos grandes es más efectivo usar un array.
Salvo cuando tienes que recibir datos en tiempo real y estos cambian cada pocas decimas... vease representaciones médicas en las que se reciben datos de un Scaner... y SÉ de lo que hablo.

De hecho, la PSP que usa OpenGL, no tiene modo inmediato.
PSP es un sistema de desarrollo CERRADO, y no todo el mundo puede desarrollar. Además, no es un sistema desarrollado para simulacion real, es solo para entretenimiento.

Y según ese artículo no puedes usar funcionalidad de la tarjeta que no venga en la API, -lo cual es cierto para cualquier API incluida OpenGL- El caso es que en ese artículo se considera una "feature" las extensiones de OpenGL, es decir parches para usar nuevas funcionalidades proporcionados por el fabricante, es decir, una extensión a la API.
La pena es que esas funcionalidades las suele tener Direct3D de serie por que hoy en día son los fabricantes los que intentan cumplir las especificaciones de DX, y no al revés.
Una de las más grandes diferencias entre los estándares "propietarios" y los estándares "abiertos" es que estos últimos evolucionan mientras que los primeros cambian. ¿Cuantas veces ha cambiado la API de Direct3D? en cada versión... incluso muchas veces con alguna revisión. Las extensiones no son parches como la gente cree... son equiparables a plugins que, finalmente, los más importantes, las más utilizadas y las aceptadas como oficiales (ARB) se han incorporado en la versión 2.0 de la API.

Ejem, ¿y eso cómo lo hizo si el port del juego no corrio a cargo de ID.? Vamos, o eso o tiene el don de la ubicuidad, que yo también lo considero un Diox, pero es una manera de hablar.
Perdona, pero no es así: no todo el port corrió por parte de ID pero Carmak atacó directamente a los drivers de nVidia de la XBox ya que tiene la costumbre/afición de crear drivers OpenGL para todas las plataformas a la que se porta... incluidas las miniGL/QuakeGL que hay para Windows. Esta declaración la hizo en una charla en el GDC del 2003 en la que no tenía nada que ver (hablaban sobre audio, y estaba como espectador) preguntandole por la posible versión de XBox de un juego que estaba todavía en esquemas... lo leí en una revista de importación, creo que una EDGE de por entonces. Por cierto, si quieres licenciar el engine de Doom 3 para XBox, incluye los drivers... no es que tenga el don de la Ubicuidad... es que o lo hacía o no se podía portar el engine en pleno rendimiento.

De todas maneras es estúpido, prácticamente TODAS las tarjetas aceleradoras implementan DX, es más, es DirectX el que le dice a las tarjetas cómo evolucionar, así que si vas a usar windows, es estúpido forzar a usarlo bajo OpenGL. De hecho en la propia opengl.org anotan que esta medida es para AERO, el subsistema que renderiza las ventanas. No sólo es una decisión política, como dicen ahí, sino que hacer el encapsulado es más simple que programar la funcionalidad de OpenGL entera, ni más ni menos.
Que DirectX dice como evolucionar a las tarjetas????? desde cuando? perdona, pero en eso no puedo estar más desacuerdo. Es lo mismo que cuando dicen que es Internet explorer que hace evolucionar internet. ¿OpenGL no decía como evolucionar las tarjetas gráficas entonces? Además... me das la razón: generalizar el pensamiento "para que usar OpenGL en windows, si será forzar la máquina para ir más lento", es lo que quiere Microsoft.

¿Por ejemplo? Es que eso es uno de los multiples FUDs contra DX, que, curiosamente, nunca he visto demostrado...
Por ejemplo, en Gamedev hay un hilo (creo que fué NeHe quien lo creó) en el que se hacian comparativas de las matrices que utilizan uno y otro y explicaban porque las de DirectX eran menos correctas que las de OpenGL, además también de lo que se necesitaba para hacer lo mismo en uno y en otro... y la verdad, el código de DX es muy feo en comparación. Te lo busco y te lo copio aquí si lo encuentro en breve.

Pero puedo darle la vuelta a la tortilla: crees entonces que D3D es "mejor" y más estándar que OGL?

¿Te suena de algo los interfaces COM.? Lo único que puedes achacar a MS es que no mantenga la documentación de versiones antiguas (por ejemplo han eliminado toda la doc DirectDraw, aunque puedes solicitar un interface DX6 y usarlo en cualquier versión de DX 6.0 o superior.
Claro que quizás lo mejor es esperar a que después de x años OpenGL pase a la versión 2.0 (siii por fin) y mientras tanto que cada fabricante tenga que añadirle extensiones para no quedarse atrás, por lo que estás igual.
Vuelvo a decir: las APIs que se crean en consorcios no van detrás de fines económicos de una empresa en particular (son muchas empresas, además de muchos individuos de la comunidad), lo que hace que desde el principio las APIs estén más pensadas y necesiten menos modificaciones (otro ejemplo es la W3C). La API de OGL solo sufre añadidos, no cambios drásticos por estar mal pensado. De todas formas, lo que dices no tiene sentido: tu realmente te fijas en los numeros?? DX es mejor por ir por la 9.0c? las extensiones son una de las caracterísitcas de la política/filosofía abierta de OGL: todo el mundo puede crear una extensión... si después son útiles se añadirán a las especificiación... en DX se da la vuelta: nadie puede crear extensiones, y todo el mundo tiene que hacer lo que dice M$.

Resumiendo, MS ha decidido currar menos al implementar su subsistema de ventanas y hacer un encapsulado de OpenGL para renderizar el subsistema de ventanas.
¿Ha quedado claro lo del subsistema de ventanas?

Lo que debería quedar claro es que da igual que sea en su "subsistema de ventanas" como si es en la barra de inicio: están dando ventaja a su propia API quitando INTENCIONADAMENTE potencia a las demás: eso es una práctica monopolista que nos afecta a todos. Otra cosa es que realmente OpenGL se quedara atrás y el 50% de ralentización fuera por su propia culpa, que no es el caso.

PD: Por cierto, PS3 se programará en OpenGL ES con extensiones de Sony claro

Si, y gracias a que es un standard abierto... lo mejor: las extensiones standard (ARB) funcionan... que impedimento hay para poder portar al 100% cualquier programa? Ni que fuera malo crear extensiones!!! Gracias a ellas las empresas pueden evolucionar, sin salirse de los estándares... que lo intenten con DX.

PPD: ¿Quien dice que X360 tendrá una implementación OpenGL? No me parece a mi, de la misma forma que XBOX tampoco la tiene.
Yo no lo he dicho... pero ya te digo yo que alguien lo implementará.

"about carmack, directx is not "carmack compilant" so directx guys are not cool. "

Cuanta razón...

Menos comentarios sectarios please

Eh, pa sectario tu que vienes a un foro de software libre a defender el DX y a Microsoft [poraki]

Saludos ;)
zheo escribió:Ejem directx se creo para que los programadores abandonaran completamente el DOS para programar en Windows95 ya que al principio era más fácil programar en dos y currarte tú los drivers que hacerlo a pelo en windows. Aparte de unificar la forma de tratar los periféricos, tarjetas de sonido, etc. Vamos, que en ese caso windows fue más rápido y más listo, aunque necesitara de varias versiones para pulirlo.
Y también recuerdo que cuando dx apareció OpenGL no sabía prácticament nadie lo que era, y menos en un juego de PC.
Menos comentarios sectarios please ;)


Todo eso lo sé. No he dicho que fuera el _único_ propósito de DirectX. Pero que Microsoft bien sabía que eso se iba a convertir en una nueva manera de atar aplicaciones a windows también lo tengo muy clarito. Creo que se te ha ido la mano al tildarlo de sectario cuando precisamente mi intervención en este hilo no tenía otro objetivo que tener mente abierta y comprender exactamente qué pasaba con este tema en lugar de dejarme llevar por la corriente.
Rurouni escribió:Hola de nuevo,
Salvo cuando tienes que recibir datos en tiempo real y estos cambian cada pocas decimas... vease representaciones médicas en las que se reciben datos de un Scaner... y SÉ de lo que hablo.

PSP es un sistema de desarrollo CERRADO, y no todo el mundo puede desarrollar. Además, no es un sistema desarrollado para simulacion real, es solo para entretenimiento.

DirectX también se ha diseñado para entretenimiento, que no se nos olvide. El resultado es que en entretenimiento el modo inmediato apenas se usa.

Por otro lado hay mucha diferencia entre eso que ahora comentas y que con el modo inmediato puedes programar "el 100% de la tarjeta gráfica"

Una de las más grandes diferencias entre los estándares "propietarios" y los estándares "abiertos" es que estos últimos evolucionan mientras que los primeros cambian. ¿Cuantas veces ha cambiado la API de Direct3D? en cada versión... incluso muchas veces con alguna revisión. Las extensiones no son parches como la gente cree... son equiparables a plugins que, finalmente, los más importantes, las más utilizadas y las aceptadas como oficiales (ARB) se han incorporado en la versión 2.0 de la API.

En mi experiencia evolución y cambio es prácticamente lo mismo. Lo que quieres decir es que OpenGL es "retrocompatible" :P
Si la interface de DX tiene que cambiar suele ser por algo, no porque a MS le interese tocar los cojones a los developers. De hecho casi todo el mundo coincide en que DX mejora mucho con cada iteración. Vale, cambia en cada versión, pero el caso es que fabricantes de tarjetas gráficas de juegos hay pocos y es má fácil ponerse de acuerdo ;)

Perdona, pero no es así: no todo el port corrió por parte de ID pero Carmak atacó directamente a los drivers de nVidia de la XBox ya que tiene la costumbre/afición de crear drivers OpenGL para todas las plataformas a la que se porta... incluidas las miniGL/QuakeGL que hay para Windows. Esta declaración la hizo en una charla en el GDC del 2003 en la que no tenía nada que ver (hablaban sobre audio, y estaba como espectador) preguntandole por la posible versión de XBox de un juego que estaba todavía en esquemas... lo leí en una revista de importación, creo que una EDGE de por entonces. Por cierto, si quieres licenciar el engine de Doom 3 para XBox, incluye los drivers... no es que tenga el don de la Ubicuidad... es que o lo hacía o no se podía portar el engine en pleno rendimiento.

¿Entonces por qué cojones tardaron tanto en hacer el port? ¿En reducir el tamaño de las texturas?
Una cosa es declaración de intenciones en la GDC y otra que sucediera así.

Que DirectX dice como evolucionar a las tarjetas????? desde cuando? perdona, pero en eso no puedo estar más desacuerdo. Es lo mismo que cuando dicen que es Internet explorer que hace evolucionar internet. ¿OpenGL no decía como evolucionar las tarjetas gráficas entonces?

DirectX10 es el que dice, de acuerdo con los fabricantes por supuesto, aunque no sea un "estandar" cómo evolucionaran las tarjetas, por ejemplo con el shader model unificado. Las especificaciones de DirectX van por delante de los fabricantes.

Además... me das la razón: generalizar el pensamiento "para que usar OpenGL en windows, si será forzar la máquina para ir más lento", es lo que quiere Microsoft.

¿Y? ¿Qué problema hay si es en el sistema de ventanas? que recordemos es propietario y pueden hacer lo que les de la gana.
Al usuario final eso se la pandula, y al desarrollador de windows también, ya que la API de windows siempre es sólo para windows y punto, y si tiene que aprender DirectX para funcionar con el sistema de ventanas de windows, pues aprende, como hay que aprender GTK y/o QT en linux y ...

Por ejemplo, en Gamedev hay un hilo (creo que fué NeHe quien lo creó) en el que se hacian comparativas de las matrices que utilizan uno y otro y explicaban porque las de DirectX eran menos correctas que las de OpenGL, además también de lo que se necesitaba para hacer lo mismo en uno y en otro... y la verdad, el código de DX es muy feo en comparación. Te lo busco y te lo copio aquí si lo encuentro en breve.

Ok.

Pero puedo darle la vuelta a la tortilla: crees entonces que D3D es "mejor" y más estándar que OGL?
Por supuesto que no, pero no por eso DX es una mierda. OGL no fue diseñado para entretenimiento aunque pueda utilizarse para ello. DX sí, por eso hay características que no necesita, y por eso OGL tiene un desarrollo distinto.

De todas formas, lo que dices no tiene sentido: tu realmente te fijas en los numeros?? DX es mejor por ir por la 9.0c?

Si.
¿OpenGL es mejor por tener extensiones?
Oxtia que si!

las extensiones son una de las caracterísitcas de la política/filosofía abierta de OGL: todo el mundo puede crear una extensión... si después son útiles se añadirán a las especificiación... en DX se da la vuelta: nadie puede crear extensiones, y todo el mundo tiene que hacer lo que dice M$.

Salvo que MS está en contacto directo con los fabricantes de tarjetas gráficas /sonido, etc mayoritarios, con lo que no es un "MS ordena y manda" sino que es un acuerdo más o menos comercia.

Lo que debería quedar claro es que da igual que sea en su "subsistema de ventanas" como si es en la barra de inicio: están dando ventaja a su propia API quitando INTENCIONADAMENTE potencia a las demás: eso es una práctica monopolista que nos afecta a todos. Otra cosa es que realmente OpenGL se quedara atrás y el 50% de ralentización fuera por su propia culpa, que no es el caso.

Y lo están haciendo en el sistema operativo propio, en su sistema de ventanas que está pensado para usarse con DirectX. Que cabrones!
Es más, que MS ni siquiera incluyera soporte OGL lo vería hasta lógico, ya que no impide la ejecución de otras aplicaciones bajo OGL. Yo

Si, y gracias a que es un standard abierto... lo mejor: las extensiones standard (ARB) funcionan... que impedimento hay para poder portar al 100% cualquier programa? Ni que fuera malo crear extensiones!!! Gracias a ellas las empresas pueden evolucionar, sin salirse de los estándares... que lo intenten con DX.

Dime la diferencia entre añadir plug-ins y sacar varias revisiones de una API para añadir funcionalidad, que yo no lo pillo.

Yo no lo he dicho... pero ya te digo yo que alguien lo implementará.
Allá él, pero lo dudo, y me parecería una pérdida estúpida de tiempo.


Eh, pa sectario tu que vienes a un foro de software libre a defender el DX y a Microsoft [poraki]
Sólo cuando lo merecen, que son pocas veces. ;)
Voy a responder, pero al tema "monopolístico" que es lo que aquí se quiere tratar... porque sino no acabaríamos nunca:

¿Y? ¿Qué problema hay si es en el sistema de ventanas? que recordemos es propietario y pueden hacer lo que les de la gana.
Lo siento, pero no puede. Y no puede porque las leyes antimonopolio prohiben las prácticas en las que la empresa que controla los recursos los retire o los reduzca para su propio beneficio. En el caso de petrolíferas: esperar a que suba el precio del petróleo; en el caso de la informática: retirar recursos para que los propios productos parezca mejores. Por eso. Si nunca hubiera dado soporte, se entendería, que hagan lo que quieran. Pero una vez cedidos los recursos, no puede retirarlos.

Otros temas:
¿Entonces por qué cojones tardaron tanto en hacer el port? ¿En reducir el tamaño de las texturas?
Tardaron por temas de negociación con Microsoft y por culpa del modo cooperativo online.

Allá él, pero lo dudo, y me parecería una pérdida estúpida de tiempo.
Todo el software libre que utilice OpenGL podrá ser portado inmediatamente... ello incluye desde Blender hasta Jahshaka... por no contar de todas las posibilidades que tendría.

Saludos. [pos eso]
¿Tan raro es que una empresa favorezca su tecnología frente a la competencia?

Es que tiene que entrarnos en la cabeza que Microsoft no es una ONG; y al fin y al cabo lo que tiene que hacer es ganar dinero, ¿no?

Saludos.Ferdy
Ferdy escribió:¿Tan raro es que una empresa favorezca su tecnología frente a la competencia?

Es que tiene que entrarnos en la cabeza que Microsoft no es una ONG; y al fin y al cabo lo que tiene que hacer es ganar dinero, ¿no?

Saludos.Ferdy
Si, y es lo que digo: si no hubiera dado recursos a OpenGL NUNCA se entendería.

Pero ahora no puede retirarlos... porque es una práctica monopolística ILEGAL.

Además: si el resto de "APIs" no tienen las mismas oportunidades de que las de Microsoft... no hay competencia, y quitarse de enmedio la competencia tal y como lo está haciendo... es ILEGAL.

Por cierto... que lo que hace no es "favorecer su tecnología frente a la competencia", sino que PUTEA a la comptencia, cuando antes ambas tecnologías estaban en igualdad de condiciones. Ahora OpenGL no lo está, pero no porque la tecnología sea peor... sino porque la han capado para que así lo sea.
Ferdy tiene toda la razón y no hay más.

Y si, MS si quiere puede RETIRAR el soporte a una tecnología como empresa que es. OpenGL no es un producto, es una especificación y si MS no quiere seguirla es su problema.
Por otro lado MS reduce el recurso opengl, del que no es propietario, tu argumento no se sostiene :S

Porque Win use OGL para programar el sistema de ventanas no vas a poder portar absolutamente nada, y por otro lado te recuerdo que la x360 de libre no tiene absolutamente nada, así que si un estudio se entretiene en hacer una implementación OGL para 360 es que les sobra la pasta y el tiempo, o simplemente son estúpidos.
Si lo hace la scene sería una frikada.

Finalmente el port de Doom3 tardó demasiado incluso teniendo en cuenta las negociaciones y el cooperativo.
Además no encuentro ninguna referencia a eso que comentas por ninguna parte.

Además: si el resto de "APIs" no tienen las mismas oportunidades de que las de Microsoft... no hay competencia, y quitarse de enmedio la competencia tal y como lo está haciendo... es ILEGAL.

Por cierto... que lo que hace no es "favorecer su tecnología frente a la competencia", sino que PUTEA a la comptencia, cuando antes ambas tecnologías estaban en igualdad de condiciones. Ahora OpenGL no lo está, pero no porque la tecnología sea peor... sino porque la han capado para que así lo sea.

Joder mira que eres pesadito, OpenGL SIGUE IGUAL, simplemente usan DX para el sistema de ventanas. Si tu te bajas tus drivers de NVIDIA para el doom3, seguirá usando el opengl32.dll o como demonios sea que se llame en el nuevo SO para que las llamadas gl del doom3 sean interpretadas por la tarjeta gráfica, y punto.

Además opengl en la vida se usó en windows para ventanas, así que el argumento de estaban a la par sigue sin ser válido. Si te pones así deberías cabrearte porque MS usa su GDI para renderizar y no da soporte OpenGL, ¡que cabrones!
Vuelvo a responder:

Es una práctica monopolística, da igual que Windows sea propiedad de Microsoft.

Igual pasaba con Internet explorer y Netscape.

Por otro lado MS reduce el recurso opengl, del que no es propietario, tu argumento no se sostiene :S
Si que se sostiene, y bastante bien: si microsoft fuera propietario de OpenGL daría igual, pero no lo es... es "la competencia" y por ello, una vez facilitado los recursos (ni más ni menos el acceso total al hardware gráfico) ahora no puede quitarselos.

Saludos.

Ah! y sobre lo de OGL y XBox360... si hacen las librerías para esta será por un motivo: si alguien hace la librería, ahorrará a mucha gente tener que aprender una API propietaria que solo funciona en un par de plataformas. Es por eso, y no por frikadas.

Edito:

Joder mira que eres pesadito, OpenGL SIGUE IGUAL, simplemente usan DX para el sistema de ventanas. Si tu te bajas tus drivers de NVIDIA para el doom3, seguirá usando el opengl32.dll o como demonios sea que se llame en el nuevo SO para que las llamadas gl del doom3 sean interpretadas por la tarjeta gráfica, y punto.


Jajjaja, me llamas pesadito? perdona, pero el hilo va de lo que estamos hablando... y más de OpenGL que de DirectX.

Además opengl en la vida se usó en windows para ventanas, así que el argumento de estaban a la par sigue sin ser válido. Si te pones así deberías cabrearte porque MS usa su GDI para renderizar y no da soporte OpenGL, ¡que cabrones!
Pero lo que haya en esas ventanas ESTARÁ A UN 50% DE SU CAPACIDAD, a ver si nos entendemos... sabes la de software que usa OpenGL en ventana???? Casi todos los editores 3D que hay en el mercado, por ejemplo.

Un saludo y buenas noches...
Rurouni escribió:Vuelvo a responder:

Es una práctica monopolística, da igual que Windows sea propiedad de Microsoft.

Igual pasaba con Internet explorer y Netscape.

Si que se sostiene, y bastante bien: si microsoft fuera propietario de OpenGL daría igual, pero no lo es... es "la competencia" y por ello, una vez facilitado los recursos (ni más ni menos el acceso total al hardware gráfico) ahora no puede quitarselos.

Hala venga, gallifante para tí, que paso de nuevo de explicarte la diferencia entre usar una api concreta para renderizar el sistema de ventanas (que es como si fuera una una aplicación) y "vetar" una api para que no funcione. Vamos, como si me dices que porque MAC utiliza Cocoa está marginado a GTK al eliminar esa tecnología del sistema.

Por otro lado el ejemplo de IE y Netscape, es totalmente inadecuado, porque IE gano por varias razones, una de las cuales es que llegó a ser MEJOR que el netscape, mal que te pese, y al margen de otras prácticas más discutibles como integrarlo en el explorer.

En fin, que te has mentalizado en que es una práctica monopolista (no hay más que ver con la virulencia con la que entraste al trapo) y no creo que te desmonte yo de la burra, entre otras cosas porque no pienso ni seguir intentándolo.

Ah! y sobre lo de OGL y XBox360... si hacen las librerías para esta será por un motivo: si alguien hace la librería, ahorrará a mucha gente tener que aprender una API propietaria que solo funciona en un par de plataformas. Es por eso, y no por frikadas.

Frikada. A muchos lo de "libre" os tiene realmente más atados que otra cosa. Veis "propietaria" y veis al mismo satanás.
Si tienes que aprender una API lo haces, como prácticamente en todo proyecto que tengas que hacer del que desconozcas la programación, sería como si me quejara por tener que aprender OpenGL para programar en PS3.


PD: ya empienzan a surgir muuuchas dudas acerca de la veracidad de la fuente, así que ya ves. Es que quizás ese 50% de pérdida no es muy objetivo. Por otro lado parece que desactivando aero todo vuelve a la normalidad...
Frikada. A muchos lo de "libre" os tiene realmente más atados que otra cosa. Veis "propietaria" y veis al mismo satanás.


Tu has leido muy poquito.........¿verdad?

Te recomiendo 'La Catedral y el Bazar' (ESR)

Saludos.Ferdy
zheo escribió:OpenGL SIGUE IGUAL, simplemente usan DX para el sistema de ventanas. Si tu te bajas tus drivers de NVIDIA para el doom3, seguirá usando el opengl32.dll o como demonios sea que se llame en el nuevo SO para que las llamadas gl del doom3 sean interpretadas por la tarjeta gráfica, y punto.

No del todo. Por lo que se sabe podrás tener aplicaciones renderizando OpenGL real siempre y cuando desactives el escritorio renderizado en D3D (vamos, que pierdes las pijaditas y te quedarias con un XP 'mejorado'), en caso contrario emula/traduce las llamadas OpenGL a D3D, y eso significa trabajo extra y, por lo tanto, menos rendimiento (aunque quizás se han pasado con lo del 50%, creo que un 5-10% menos de rendimiento seria más acertado).

Y es que eso de traducir las llamadas de OpenGL a D3D no es más que una jodienda, porque eso implicará tener que ir actualizando el jodido wrapper de microsoft cada vez que haya una nueva versión de OpenGL, eso si les da la gana hacerlo.

Por supuesto que se podrá seguir usando aplicaciones renderizando en OpenGL, pero a costa de las pijaditas, y todos sabemos que mayoritariamente la gente querrá actualizarse a Vista por las pijaditas, y Microsoft tambien.
Hala venga, gallifante para tí, que paso de nuevo de explicarte la diferencia entre usar una api concreta para renderizar el sistema de ventanas (que es como si fuera una una aplicación) y "vetar" una api para que no funcione. Vamos, como si me dices que porque MAC utiliza Cocoa está marginado a GTK al eliminar esa tecnología del sistema.
Este... no es lo mismo que se acceda directamente al hardware como ha hecho hasta ahora que tener que pasar antes por la implementación de D3D que por otro lado: deja a OGL en la versión 1.4 y sin extensiones.

Por otro lado el ejemplo de IE y Netscape, es totalmente inadecuado, porque IE gano por varias razones, una de las cuales es que llegó a ser MEJOR que el netscape, mal que te pese, y al margen de otras prácticas más discutibles como integrarlo en el explorer.
Por que tu lo digas hombre... IE no era mucho mejor que Netscape cuando lo metieron en el sistema por defecto... pero sin embargo la gente dejó de descargarse el Netscape porque "Con IE ya tenían suficiente"... en este caso el problema es: OpenGL funcionará peor, y D3D vendrá de serie y funcionará "mejor". Como desarrollador de juegos ¿te vas arriesgar en programar en OGL? usaras "lo que tiene todo el mundo".

PD: ya empienzan a surgir muuuchas dudas acerca de la veracidad de la fuente, así que ya ves. Es que quizás ese 50% de pérdida no es muy objetivo. Por otro lado parece que desactivando aero todo vuelve a la normalidad...
Yo me he basado en las fuentes más oficiales que pueden haber: ellos mismos. No lo he probado yo, de todas formas estamos en las mismas: "todo el mundo usará las pijadas", que para eso quieren Windows Vista. Y si todo el mundo usa las pijadas adios a OGL. Te parece poco "bajón de rendimiento" no poder usar extensiones y quedarse en la versión 1.4? Coño, quizás el rendimiento si programamos así (solo con la API 1.4 y sin extensiones) obtendremos unos resultados similares (como dicen 5-10%)... pero entonces PERDEMOS LAS EXTENSIONES Y TODAS LAS MEJORAS POSTERIORES... que para mí es una perdida del 75% en lugar del 50%. Nada de 1.5 ni 2.0, ni GLSL ni nada... que nos queda? nada de lo que ha hecho que los juegos de hoy en día sean como son. Haz cuentas.

Lo de propietario o no propietario... sabes en el subforo en el que estás??? joder macho, que esto es el foro de SOFTWARE LIBRE, si no nos "quejamos" aquí del "Software propietario" donde lo vamos a hacer? [maszz] De todas formas, no tiene tanto que ver con el software libre como con la portabilidad, el cumplimiento de estándares y leyes antimonopolio... que MacOS X también se resiente...

Ciao
En uno de los links en los foros que se estaba discutiendo han puesto una presentación en la que en una de las diapositivas dice específicamente que cada fabricante podría proporcionar sus propios ICDs porque en ventana es el único problema que habría al usar OGL (en pantalla completa es bastante probable que se puede desactivar mediante código el escritorio "guay" y luego activarlo cuando salgas de la aplicación) A ver si es verdad, porque esto huele a la discusión que hubo con lo de que "WindowsXP proporciona un OpenGL que es una mierda y baja el rendimiento respecto a DX, son unos cabrones" Normal al proporcionar una implementación genérica por otra parte, pero que no impide que los fabricantes introduzcan su propia implementación OGL.

Y respecto a lo de propietario o no, no hay que quejarse por quejarse o apoyar el soft libre por encima de tu vida y sin importar nada más aunque el soft propietario también sea bueno, que hay mucho talibán del soft libre, y la verdad, aprender una API propietaria tampoco es para tanto.
Ferdy, por supuesto esto es una generalización, y como todas es falsa, pero no me negarás que hay mucha gente así.

Espero que no os guste Java... ;)


PD: IE se comía con patatas al Netscape 4 en tiempo de renderizado de páginas cuando se integró con el escritorio, y desde antes ya estaba casi a la par. El tiempo de carga también ayudó, pero cuando IE no tenía la tremenda cuota de mercado se esforzaban bastante por mejorarlo, y lo consiguieron. El problema vino después.
zheo escribió:Espero que no os guste Java...


¿Cuál es el problema con java?
Tenemos el blackdown jdk (libre) y jdk de sun (no libre) es multiplataforma, incluso para los nuevos procesadores de 64bits


zheo escribió:PD: IE se comía con patatas al Netscape 4

igual que ahora XD

Ferdy escribió:Tu has leido muy poquito.........¿verdad?


Exactamente lo que estaba pensando. Hemos visto tantas veces esta discusión de gente que sólo conoce un lado de la balanza que ya ni me sorprenden el montón de chorradas que a veces se leen [qmparto]
dreamer escribió:
Exactamente lo que estaba pensando. Hemos visto tantas veces esta discusión de gente que sólo conoce un lado de la balanza que ya ni me sorprenden el montón de chorradas que a veces se leen [qmparto]
He leido bastante, pero también me he encontrado de todo en estos campos de Diox...
dreamer, como apunte, decirte que java lo que es portabilidad, 0. Hay más arqutiecturas para las que no existe una máquina virtual java que para las que si existe.

Saludos.Ferdy
Y respecto a lo de propietario o no, no hay que quejarse por quejarse o apoyar el soft libre por encima de tu vida y sin importar nada más aunque el soft propietario también sea bueno, que hay mucho talibán del soft libre, y la verdad, aprender una API propietaria tampoco es para tanto.
Aprender una API abierta tampoco. El problema en este caso la API propietaria de la que hablamos secuestra nuestros programas a un solo sistema operativo.

Si cuesta tan poco aprender un API propietaria como una abierta... ¿para que aprender la propietaria? Solo tiene sentido en estos casos: Si no rinde una, vas a la otra, es de cajón. El software libre es para todos y por todos. Es más, para mi más importante que el Software Libre en si mismo son los estándares abiertos: aquellos que todo el mundo puede implementar si quiere y sin restricciones.

Espero que no os guste Java...
JAVA me gustaba bastante... desarrollos rápidos y no hace falta compilar para cada plataforma (si es que existe JVM). Pero el modelo de desarrollo del mismo y las múltiples veces que han dicho que se iba a liberar y al final nada de nada han hecho que me desencante y que ahora use C++ para el 100% de mis desarrollos. Por cierto, JAVA es de implementación abierta, cualquiera puede hacer su versión... pero tiene un problema muy grande: la licencia la tienes que leer muy bien, porque no es abierta del todo... otra cosa que me tiró para atrás. Aun así, programo en J2ME porque es la única manera de programar para móviles de manera generalizada: si hubiera otra opción y si esta fuera libre, la contemplaría la primera.

Saludos.

Por cierto, recomiendo probar SDL+OpenGL...
Por mucho que se discuta, no sabremos qué pasará al final.

Está claro que cuestiones técnicas a parte, lo que interesa es que la gente siga programando y aprendiendo OpenGL. PS3 es un aliado importante, ID Software también, todos los juegos que salgan con el motor de Doom 3 (Quake 4 inclusive) más de lo mismo, etc.

Y Vista no ha salido aún definitivamente. También hay que pensar que Macos X funciona en x86, y a éste sí que no le puedes andar con Direct X ni historias para no dormir. Así que tan mal no está el asunto.

Paciencia y a ver cómo se desarrollan los acontecimientos.

salu2
Pues es bueno aprender DX porque el 99% de los juegos de pc son para windows, si eso no te parece una buena opción ;)
Por otro lado me gusta el interface DX, y además el hecho de que aglutine todo en un sólo paquete. SDL es más simple (nada que objetar, de ahí la S), aparte que hasta donde yo se es parcialemente un wrapper de alguna funcionalidad de DX, al menos bajo windows claro ;)
Los wrapper por lo que se ve no son TAN malos en rendimiento, aunque si es verdad que si no puedes poner extensiones pues va a ser un coñazo.

El caso es que falta mucho para que salga vista, y como ya he dicho he visto en una de esas diapositivas que cada fabricante puede proporcionar su propio ICD con lo cual toda esta movida que se está montando la veo como poco excesiva.

Lo gracioso es que una vez que sabes programar en una, con la otra te puedes poner al día en un mes, ya que los conceptos son exactamente iguales.

Y si, el mejor aliado de OpenGL es PS3 y PSP.


PD: De Java decía que, efectivamente, no es completamente libre, y no parece que sea tan grave, aunque de vez en cuando cambien alguna cosilla ;)

PPD: Yo tb tiro de J2ME, además no me da la pasta para un movil con Symbian xD De hecho una vez que por aquí dije que me parecía que java no tenía reflexión (cagada) y era porque J2ME efectivamente no tiene :P :P
Lo de que el 99% de los juegos están en D3D es porque es la salida fácil. Y tampoco te creas que el 99% de los juegos son D3D, hay muchiiiisimos juegos con el engine del Quake 3 ;) (y ahora no digamos con el del Doom 3 :)

Por cierto, y como comentario: las SDL te ahorran tener que escribir varias veces lo que harían lo mismo: en lugar de tener que escribir chorrocientas líneas para crear una ventana en windows llamas a "SDL_SetVideoMode" y listos... y para linux, Apple... solo se cambia el código de fondo, por lo que la misma función sirve para todos. Eso si: cuando puede acceder a hardware accede, y para OpenGL siempre accede a hardware. Es muy diferente el hecho de crear ventanas y administrar eventos (mensajes de sistema) que acceder hardware (es más crítico). Pero bueno, da igual...

Así que ya sabes Zheo... aprende y utiliza OpenGL :) así ayudas a la causa y, después de todo... tus proyectos serán multiplataforma.

Saludos!
Rurouni escribió:Así que ya sabes Zheo... aprende y utiliza OpenGL :) así ayudas a la causa y, después de todo... tus proyectos serán multiplataforma.
Saludos!

Ya estoy aprendiendo OpenGL ;)

Lo de la ventana en DX es simplemente hacer el código una vez, aunque si es verdad que la inicialización acojona un poco la primera vez que la ves :P :P
[offtopic] Rurouni... si tanto te gustaba Java, ¿qué opinas de Mono?[/offtopic]

Sobre el tema en sí... Una cosa es que no nos sorprenda que MS intente favorecer sus tecnologías y otra que pueda hacerlo. Creo que es pronto para saber algo muy definitivo como para evaluar lo que sucederá con OpenGL. Pero una cosa está clarísima: si de MS dependiera, mandaban a OpenGL a tomar por culo. Y ésa es la dirección en la que querrán "avanzar", con pasitos más grandes ó más pequeños.

Un saludo!
a todo esto, alguien a probado la beta y tal?

windows vista beta 1 trae un opengl generico bastante malucho, pero al isntalar los drivers de ati me lo cambio por el opengl 2 q traen ahora y al lanzar una aplicacion a pantalla completa en d3d o en opengl el escritorio se "desactiva", el rendimiento por ahor es muy similar al q obtengo en mi win2k3 ye so q es una beta capada ^^U
Hola,

FuckingFreaky escribió:[offtopic] Rurouni... si tanto te gustaba Java, ¿qué opinas de Mono?[/offtopic]

Mono... me gusta, mucho... y cada vez más... pero sinceramente no se porqué tanto bombo con C#.

He visto gente que me dice: mira como hago aplicaciones de rápido, refiriendose a el uso del IDE de Visual Studio. Lo que pasa es que la gente no conocia Delphi (de hecho el IDE del VS2003 es una copia del del último Delphi)... y cuando les enseño que eso ya existía hace años (casi más de 10) se quedan de piedra.

C# es la suma de un JAVA moderno con un IDE de Delphi, moderno también. Es decir: una evolución lógica, y por ello... no me sorprende.

Mono (implementación libre multiplataforma de C#) es todo un logro: la integración con cualquier sistema operativo y con GTK# está muy lograda... pero sin embargo, pienso que es una trampa. Y pienso esto porque cuando Microsoft dió libremente la especificación, sabía lo que hacía. Para empezar, no deja muy claro el funcionamiento de las Windows.Forms, que son la parte más importante de la gestión de ventanas. Si todo el mundo utiliza las Windows.Forms para desarrollar entornos de ventanas... no se puede portar a ninguna plataforma más. Además, ellos tienen el derecho de cambiar la especificiación en cualquier momento. Que cambien 2 lineas no tiene importancia, se cambian en mono y ya está... pero ¿y si cambian 1.000.000 de lineas? Microsoft tiene poder para hacerlo además de dinero y gente, pero... y los de mono? no. Estamos en las mismas: si Mono no puede adaptarse a las nuevas especificaciones, la gente utilizará el de Windows.

Que cada uno use lo que quiera, yo también programo en C#... es muy rápido, óptimo y ligero... más que JAVA. Ahora acabo de descubrir una web:

http://www.monohispano.org/tutoriales.php

Que me ha pasado Fox (gracias Fox!). En esta explica se bastante bien cómo integrar Mono con GTK.

Por cierto, que .NET/Mono no es solo "C#"... puedes programar en prácticamente cualquier lenguaje y generar el bytecode necesario para que funcione con el intérprete de .NET/Mono.

Hará 4 años colaboré en la creación de un port de las librerías OpenGL para .NET:

http://sourceforge.net/projects/csopengl/

Fué un reto... ya que acababa de salir la especificación y la documentación estaba muy en "pañales"... pero lo logramos. Fué muy simple, pero logramos acceder al Hardware gráfico aún utilizando un CLI. Eso me gustó bastante. Porté un par de pruebas que hicimos de simulación (sobre todo de física) y dió buenos resultados. Pero era demasiado simple, y nos quedamos sin tiempo de avanzar más. Además, nos dimos cuenta de la trampa en la que caíamos, ya que en un Meeting de presentación del VS2002 se nos dijo que todo lo que hicieramos sería multiplataforma... y no fué así, además... tienes que tener instalado el mastóntico .NET, que en aquel entonces no lo tenía ni Cristo. Tal como lo decían parecía que ellos mismos serían los que harían el intérprete para todas las plataformas, y que encima lo liberarían... nos lograron engañar... un par de horas :)

Bueno, batallitas de viejos.

Que cada uno use lo que quiera, pero que sea multiplataforma [angelito]

Saludos!!!!

Ah! se me olvidaba:
a todo esto, alguien a probado la beta y tal?

He le ido posts de mucha mucha gente que le pasa eso: si no instalan los drivers... tienen el Aero a 100% con chorraditas... y OpenGL va como el culo. Si los instalas... a tomar pol culo Aero pero OpenGL va al 100%. ¿Donde está el problema? En la trampa de "La Puta de Babilonia": quieres cosas bonitas y que brillen... ¿para que instalar los drivers? Que le den por KKs a OpenGL!

Ese es el problema.

Edito: Para que veas lo "rápido" que es programar en Mono+GTK, mira las líneas de código que han hecho falta para crear un editor de código con resalto de sintaxis:
http://www.monohispano.org/ejemplos/gtksharp/editor/x55.html
Fascinante :)
Rurouni escribió:Edito: Para que veas lo "rápido" que es programar en Mono+GTK, mira las líneas de código que han hecho falta para crear un editor de código con resalto de sintaxis:
http://www.monohispano.org/ejemplos/gtksharp/editor/x55.html
Fascinante :)


LOL? [flipa]
Otra razon mas para seguir con Windows2000 y el XP cuando el 2000 no tenga soporte y el 2004 cuando XP no tenga soporte....xD

A partir de ahi, Linux ya como 1º SO
Rurouni escribió:Mono... me gusta, mucho... y cada vez más... pero sinceramente no se porqué tanto bombo con C#.

He visto gente que me dice: mira como hago aplicaciones de rápido, refiriendose a el uso del IDE de Visual Studio. Lo que pasa es que la gente no conocia Delphi (de hecho el IDE del VS2003 es una copia del del último Delphi)... y cuando les enseño que eso ya existía hace años (casi más de 10) se quedan de piedra.

C# es la suma de un JAVA moderno con un IDE de Delphi, moderno también. Es decir: una evolución lógica, y por ello... no me sorprende.
A vé... que yo soy mu paleto y a lo mejor digo burradas... pero qué tiene que ver el lenguaje con el IDE? Hasta donde yo sé tú programas C# en Vim, monodevelop, glade, VisualStudio, bloc de notas... No sé si te referirás a C#+VS.
Yo de momento no he programado nada con C#, pero la gente parece estar encantada con el lenguaje en sí. A excepción de Ferdy, claro ;).

Rurouni escribió:Mono (implementación libre multiplataforma de C#) es todo un logro: la integración con cualquier sistema operativo y con GTK# está muy lograda... pero sin embargo, pienso que es una trampa. Y pienso esto porque cuando Microsoft dió libremente la especificación, sabía lo que hacía. Para empezar, no deja muy claro el funcionamiento de las Windows.Forms, que son la parte más importante de la gestión de ventanas. Si todo el mundo utiliza las Windows.Forms para desarrollar entornos de ventanas... no se puede portar a ninguna plataforma más. Además, ellos tienen el derecho de cambiar la especificiación en cualquier momento. Que cambien 2 lineas no tiene importancia, se cambian en mono y ya está... pero ¿y si cambian 1.000.000 de lineas? Microsoft tiene poder para hacerlo además de dinero y gente, pero... y los de mono? no. Estamos en las mismas: si Mono no puede adaptarse a las nuevas especificaciones, la gente utilizará el de Windows.
Se ha oído de todo sobre ese tema, y la verdad es que yo no acabo de tenerlo muy claro. Mucha gente alude a las posibles patentes que podría imponer MS, etc...
¿Realmente pueden ellos cambiar 1.000.000 de líneas de la especificación? La verdad es que no lo sé, porque si no me equivoco esto corre a cargo del ECMA. Ellos pueden presentar todas las propuestas que quieran, pero es el organismo internacional quien decidirá si sí, ó si no. Aunque ahora lo que pienso creo que te refieres a WinForms, no? Que supongo que no son parte del estándar del ECMA. Está claro que implementarlas les cuesta horrores al equipo de Mono, pero saben que tienen que hacerlo... Es posible que algún día no puedan, pero mientras tanto tienen que luchar. Quizá para cuando llegue ese día hayan cogido bastante terreno.
Sobre las patentes... de ésto tengo un video de de Icaza donde explica que es difícil que lleguen a imponerlas. En tal caso buscarían arte previo que hiciera ver que existía eso antes de que MS lo "inventara", y que si aún así perdían, tendrían que amputar el código. Pero eso podría tardar muuuucho, y por lo visto tanto Novell como IBM tienen patentes con las que podrían llevar a juicio a MS. Básicamente a ninguno le interesa entrar en esa guerra de patentes... aunque ya veremos.

Sea como sea, yo creo que Mono de momento es una gran alternativa y que ojalá se pueda mantener así en el futuro. No sólo es .Net sino que añade aún más cosas que éste no tiene. Si algún día pierde el carro de .Net por el motivo que sea, siempre seguiremos teniendo una gran plataforma de desarrollo a pesar de que no pueda seguir a MS. Con las condiciones tan duras que está imponiendo MS con su Windows Vista, el DRM, etc... quizá más de uno se vea en la necesidad de pasarse a Mono para seguir desarrollando eso que ya tiene. De momento ejemplos como el de la ciudad de Munich ya están ahí (corrían servers ASP en windows, y cuando el ayuntamiento decidió cambiar los servidores a Linux, Mono fue la solución).

En fin... vaya tocho que he soltado... En definitiva creo que Mono es una gran oportunidad. Sea como sea que acabe, será un buen paso para el SL. A mí de momento lo que más me preocupa es el rendimiento... Está muy bien eso de que con sólo portar la máquina virtual ya tengas todo Mono pasado a otra plataforma, pero... claro, la velocidad y los recursos supongo que se verán bastante mermados. ¿Cómo se puede desenvolver la máquina con varias aplicaciones grandes corriendo sobre ella?

Un saludo!
Rurouni escribió:Ah! se me olvidaba:

He le ido posts de mucha mucha gente que le pasa eso: si no instalan los drivers... tienen el Aero a 100% con chorraditas... y OpenGL va como el culo. Si los instalas... a tomar pol culo Aero pero OpenGL va al 100%. ¿Donde está el problema? En la trampa de "La Puta de Babilonia": quieres cosas bonitas y que brillen... ¿para que instalar los drivers? Que le den por KKs a OpenGL!


erm, yo tepuedo asegurar q no eh... al menso con los ultimos de ati [oki]
Hola holita vecinos...
A vé... que yo soy mu paleto y a lo mejor digo burradas... pero qué tiene que ver el lenguaje con el IDE? Hasta donde yo sé tú programas C# en Vim, monodevelop, glade, VisualStudio, bloc de notas... No sé si te referirás a C#+VS.
Eeeexacto. El IDE no tiene nada que ver con C# pero TODO EL MUNDO que "flipa" con C# lo flipa porque Visual Studio tiene un IDE muy bueno (el de Delphi) que te permite hacer aplicaciones en un abrir y cerrar de ojos... pero la gente lo extiende a todo, he llegado a oir burradas (gente que se cree que se programa más rápido en OGL con C#, cuando es exáctamente lo mismo) que hacen un boca a boca muy favorable a C#, pero que tampoco es para tanto.

Yo programo con VIM prácticamente siempre... he itentado usar Anjuta, pero me desborda... me gusta hacerlo todo yo, no me gustan mucho los IDEs a no ser que me ayuden a hacer interfaces complejas.

¿Realmente pueden ellos cambiar 1.000.000 de líneas de la especificación? La verdad es que no lo sé, porque si no me equivoco esto corre a cargo del ECMA. Ellos pueden presentar todas las propuestas que quieran, pero es el organismo internacional quien decidirá si sí, ó si no. Aunque ahora lo que pienso creo que te refieres a WinForms, no? Que supongo que no son parte del estándar del ECMA. Está claro que implementarlas les cuesta horrores al equipo de Mono, pero saben que tienen que hacerlo... Es posible que algún día no puedan, pero mientras tanto tienen que luchar. Quizá para cuando llegue ese día hayan cogido bastante terreno.

Por suerte no pueden hacerlo directamente, pero por desgracia tienen bastante "mano" (dinero) para cambiar las cosas y que luego las hacepten (como ha pasado con la especificación 2.0 de C#). El problema son las Windows.Forms. Una tocada de cojones grande... pero como puedes comprobar tu mismo... con GTK que se quiten los toros :)

Yo prefiero el C++ de toda la vida... no se, será que me estoy haciendo viejo, pero me gusta saber que puedo tocar el hardware si hace falta.


erm, yo tepuedo asegurar q no eh... al menso con los ultimos de ati
Pues en la página ofical de OpenGL se pueden encontrar comentarios como este:

Since I have access to Vista I performed some tests.
System:
- Vista Beta1(AMDx64)
- AMDx64
- ATI Radeon 9800 Pro

After install Aero is the active desktop theme. When I started up a small OpenGL application of my own I got an OpenGL view but with several artifacts. The renderer string gave: OpenGL to D3D. The version: 1.4
Then I activated the classic Desktop theme en ran the application again. However the renderer was the same, no genuine OpenGL.
Next step was to install the latest ATI drivers.
As expected the OS refused to update because it found the drivers to be less suitable, after overriding this they installed just fine.
After a restart and an other run of the app... Now I got normal ATI Hardware support (Renderer: RADEON 9800 Pro x86/MMX/3DNow!, version: 2.0.5220). Performance seemed ok too.
Ofcourse I tried to enable Aero and see what happened. At first glance it looks the same however, all the "fancy" effects are gone (dissolving, tild, etc..)
Conclusion seems to be that Vista in it's current state can have full OpenGL but not with fancy Vista. The install of a OpenGL ICD effectively disables Aero. Is that a bad thing?
quiza sea un rpoblema de la version x64, yoe stoy probando la de 32 bits, y parches de upadate no han bajado referentes a aero [+risas]
Joé, yo he cogido ese ejemplo al azar... hay más por las webs...
44 respuestas