Disponible al públic el Viernes 13 de Diciembre de 2013
#1290 OpenGL (especificación) es libre, OpenGL (la implementación que utiliza Linux) es libre. No lo digo yo, lo dicen los desarrolladores de la especificación y la Free Software Foundation. No hay nada más que discutir al respecto.
Tiene que ver que gracias a que tanto la especificación como la implementación de Linux son libres, Nvidia puede modificarlas y optimizarlas para sus tarjetas (aunque luego la implementación de Nvidia no sea libre).
¿Qué es lo que no entiendes?
Joder que no te enteras, que la implementación de opengl en linux es PROPIETARIA, tronco, ve a la puta página de nvida y de amd y verás que tienen ahí drivers para sus chips para que los descargues, y el código fuente no está por ninguna parte.
La implementación libre que tu dices es una implementación GENÉRICA, por que como no tienen acceso a la de nvida y amd, usan esa a falta de otra cosa. Es que tú te crees que nvida y amd trabajan sobre la que hay libre y la modifican, y no se de donde te has sacado eso, ellos tienen la suya propia, que no ha sido libre en la puta vida y no puede ser modificada ni extendida por nadie excepto por ellos mismos.
#1292 te doy por imposible. Más claro que lo he dicho en #1291 no lo puedo decir (te lo voy a poner en negrita a ver si hay suerte y lo terminas de entender).
Direct3D Microsoft Windows only Windows Embedded[1] and Windows CE (through Direct3D Mobile) Proprietary
OpenGL Cross-platform Cross-platform through OpenGL ES Open standard (some features patented)
Direct3D is a proprietary API that provides functions to render three-dimensional graphics, and uses hardware acceleration if it is available on the graphics card. It was designed by Microsoft Corporation for use on the Windows platform. It can also be used on other operating systems through special software such as Wine, although the subset of features provided is not as complete as the reference implementation.
OpenGL is an open standard API that provides a number of functions to render 2D and 3D graphics, and is available on most modern operating systems including but not limited to Windows, Mac OS X and Linux.
The OpenGL extension mechanism is probably the most heavily disputed difference between the two APIs. OpenGL includes a mechanism where any driver can advertise its own extensions to the API, thus introducing new functions such as blend modes, new ways to transfer data to GPUs, or different texture wrapping parameters. This allows new functions to be exposed quickly, but can lead to confusion if different vendors implement similar extensions with different APIs. Many of these extensions are periodically standardized by the OpenGL Architecture Review Board (AR, and some are made a core part of future OpenGL revisions.
On the other hand, Direct3D is specified by one vendor only (Microsoft), leading to a more consistent API, but denying access to vendor-specific features. NVIDIA's UltraShadow technology, for instance, is not available in the stock Direct3D APIs at the time of writing.
https://en.wikipedia.org/wiki/Comparison_of_OpenGL_and_Direct3D
Joder, es que hasta gracioso por que tú mismo sin darte cuenta estás diciendo que no tiene nada que ver con la puta especificación libre de los cojones, ni con la implementación libre de linux, que has usado varias veces como argumento dando a entender que has oído campanas y no sabes donde.
Nvida ha creado una jodida extensión propietaria, que no tiene que ver que la especificación de opengl sea libre, ni con que haya un implementación libre de linux que no tiene acceso a las funciones avanzadas de los chips de nvida y amd por que estás no son públicas.
La única diferencia es que nvida puede presentar esta extensión al grupo Khronos, que son los que mantienen la especifiación de Opengl, y si les parece bien la harán parte del estándar, mientras que Microsoft tiene que ser ellos mismos los que añaden sus propias funciones a su especificación.
Por cierto, nvida es parte del grupo Khronos, oh vaya, no me lo esperaba!
Esto ni siquiera es un opengl vs directx, por que yo no estoy diciendo que una sea mejor o peor, estoy diciendo que es un sinsentido decir que Opengl se puede mejorar más que Directx por que es libre, y más si se mezclan implementaciones con especificaciones.
Dicho esto por mi como si nvida ha conseguido mejorar el rendimiento un 900% en opengl, enhorabuena pa ellos.
"The OpenGL extension mechanism is probably the most heavily disputed difference between the two APIs. OpenGL includes a mechanism where any driver can advertise its own extensions to the API, thus introducing new functions such as blend modes, new ways to transfer data to GPUs, or different texture wrapping parameters.
On the other hand, Direct3D is specified by one vendor only (Microsoft), leading to a more consistent API, but denying access to vendor-specific features."
https://en.wikipedia.org/wiki/Comparison_of_OpenGL_and_Direct3D
"Tiene que ver que gracias a que la especificación es libre, Nvidia puede modificarla y optimizarla para sus tarjetas (aunque luego la implementación de Nvidia no sea libre)."
(He quitado lo de la implementación de Linux y otras cosas para que no te distraigas)
"The Khronos Group is an American not-for-profit member-funded industry consortium based in Beaverton, Oregon, focused on the creation of open standard, royalty-free application programming interfaces (APIs) for authoring and accelerated playback of dynamic media on a wide variety of platforms and devices."
https://en.wikipedia.org/wiki/Khronos_Group
No lo voy a volver a repetir así que no te molestes en responder si no quieres. Al menos ya no me discutes que OpenGL es libre.
#1294 es el mismo tema porque están directamente relacionados.
#1290 openGL y Directx son APIs. Also Conjunto de librerías para hablar entre dos procesos (por decirlo a groso modo). En este caso puente entre, codigo de alto nivel donde programas el juego y código a más bajo nivel, el driver.
Ejemplo:
No digamos que DirectX y OpenGL son normas como puede ser OpenDocument.
Que la parte de implementación entre driver y hardware sea cerrada, no significa que la API que envía la información al driver, OGL, DX, MANTLE, tenga que ser cerrada necesariamente.
Una cosa es saber como funcionan las cosas y otra es saber simplemente qué te van a devolver sin saber cómo funcionan. Siend C = B+A, Si tu metes A y B en un agujero y te devuelve C intuyes que ha sumado, pero realmente podría estar haciendo B+A-4+4. Como es cerrado y oscuro no tienes ni idea ni de si es eficiente o si está descaradamente enviando B+A a la NSA a al vez que te devuelve C.
#1297 a tu último párrafo es a lo que me refiero precisamente. Está claro que Microsoft podría compartir información con los desarrolladores para que supieran como hacer las cosas, pero sería poco eficiente y terminaría siendo contraproducente porque siempre dependerían de ellos y no podrían trabajar libremente. Sin contar con los gastos, porque dudo mucho que Microsoft lo hiciera gratis, seguramente tendrían que pagar algún tipo de licencia o algo parecido. Si no me equivoco ya la tienen que pagar (comprar Visual Studio para poder compilar las aplicaicones hechas con el SDK de DirectX, aunque de esto no estoy seguro) y ni siquiera tienen acceso al código ni libertad para hacer lo que quieran con la especificación/API. Lo único que pueden hacer es lo que les diga Microsoft que pueden hacer y como les diga que lo tienen que hacer.
En otro post decía que Nvidia formaba parte del grupo Khronos como si fuera un argumento a su favor, cuando es todo lo contrario. ¿Por qué es miembro del grupo de desarrolladores de OpenGL y no de DirectX? ¿Por qué están optimizando OpenGL y no DirectX? ¿Por qué AMD ha sacado Mantle y ahora van a hacer algo similar en OpenGL en vez de optimizar DirectX? Y en un plano más general, ¿por qué Valve está apostando por Linux y quiere independizarse de Windows? Las respuestas a todas esas preguntas son la misma.
Porque es libre.
Pr177781 lo ha vuelto a hacer.
2 páginas enteras llenando el hilo de discusiones que no tienen nada que ver con SteamOS.
Al final quito el hilo de favoritos, y me jode porque me interesan las novedades sobre este tema, pero visto el panorama, ya me enteraré cuando haya algo importante por otros medios.
#1300 No voy a discutir contigo este tema otra vez. Si los moderadores te permiten levantar el hilo constantemente con noticias y discusiones que no tienen nada que ver con el tema del hilo ellos sabrán cómo quieren llevar el foro, te dejo el hilo todo para ti que ya he perdido bastante tiempo.
Lo siento, pero cabron tiene razón. La implementación de DirectX o OpenGL (comunicación con tarjeta gráfica) es cerrada. DirectX es privativa porque fue diseñada por Microsoft para su sistema operativo. La especificación es tan pública como puede ser la de OpenGL. Y cualquiera puede desarrollar un juego para Windows utilizando DirectX sin necesidad de pagar un Euro a Microsoft, es más, el SDK está para descargar para quien quiera.
Cuando tu programas un juego y haces uso de OpenGL o DirectX, no dejas de llamar a las funciones de la API a más o menos alto nivel. Decir que OpenGL es más rápido que DirectX es imposible. Puedes decir que Nvidia implementa mejor OpenGL que AMD o lo contrario.
El hacer un estándard, una API, es simplemente para que desarrollar un juego no se convierta en desarrollar un juego para cada marca de tarjetas gráficas. Al menos, hasta que ha aparecido Mantle.
DirectX apareció por sencillez. Y Microsoft se ganaba varios puntos por ello, desarrollar juegos para su sistema operativo y para sus consolas.
Es lógico que SteamOS apueste por OpenGL, no deja de ser un S.O. basado en Linux y tienen ya todo el trabajo desarrollado.
#1301 el problema está en que mencioné la implementación de Linux y cabron se ha agarrado a eso como a un clavo ardiendo. La clave está en la especificación, que es libre porque cualquiera puede hacer extensiones para ella o sacar su propia versión. Nadie puede modificar, adaptar ni ni siquiera influir en las especificaciones de DirectX y, por lo tanto, no pueden hacer lo que quieren hacer con OpenGL.
Hay mucho software cerrado/propietario/privativo que está basado en software libre, pero eso no quiere decir absolutamente nada.
El caso es que OpenGL es libre y por eso pueden hacer lo mismo que ha hecho AMD con Mantle. Con DirectX no pueden (a menos que Microsoft cambie sus políticas).
#1302 Es que no entiendo muy bien a donde quieres llegar. Lo que ha hecho AMD con Mantle es crear una API para sus propias tarjetas. No dejar de ser un movimiento guarro o a saber....
Quiero decir, o han llegado al máximo con sus tarjetas en sus implementaciones de OpenGL y DirectX y han decidido crear una API propia porque cree que pueden sacar mejores ventajas o no dejar de ser un movimiento de marketing que dice, hey!!, que podemos hacer juegos más rápidos, pero desarrollen para nuestras tarjetas, no para todas.
Lo que yo quiero decir es que no pueden vendernos desde Valve que OpenGL es mejor porque en sí el concepto es un poco falso, la especificación de OpenGL es mucho más engorrosa y difícil de programar, cualquier desarrollador te puede decir lo mismo.
Aquí hay un artículo que más o menos explica lo que vengo a decir...que todo es cuestión de marketing.
http://www.extremetech.com/gaming/133824-valve-opengl-is-faster-than-directx-even-on-windows
Si SteamOS es un éxito, los devs no van a seguir desarrollando en DirectX, pudiendo hacer un cambio mas o menos sencillo para hacer sus juegos compatibles en Linux/Windows, eso acabará en mejor OpenGL en linux todavía y mejor OpenGL en Windows si Microsoft ve que DirectX empieza a caer en desuso.
#1303 ya he dicho en varias ocasiones que con DirectX se podría hacer exactamente lo mismo que quieren hacer con OpenGL, pero no lo hacen porque no pueden por temas de licencias y permisos.
Es que es así de sencillo. ¿Por qué no lo hacen con DirectX en vez de sacar sus propias APIs o pasarse a OpenGL? DirectX ya es el estándar, ¿por qué gastar tiempo y recursos en programar sus propias APIs o pasarse a otra diferente?
Y ahora siento que estoy metido en un bucle infinito.
"He quitado lo de la implementación de Linux y otras cosas para que no te distraigas)
"
Que grande eres, precisamente eso demuestra que no tenías ni idea de lo que estabas hablando, y que ibas buscando cosas en google según iba la conversación, encontraste lo de que había una implementación libre en linux, y lo cascaste para argumentar que 'Opengl es de código libre en linux y cualquiera lo puede mejorar', y cuando te digo que eso no es así en lugar de reconocer que la estás cagando, dices que lo quitas por que me está distrayendo.
Es que además el tema de los drivers gráficos privativos ha sido siempre una polémica clásica en linux que todo usuario de ese sistema conoce, hasta el punto que Linus públicamente les mandó a la mierda:
De todas formas el motivo por el que me metí en esta conversación era por ver de que iba eso de ' OpenGL puede ofrecer un rendimiento de 7 a 15 veces superior' que fue el post con el que empezó todo,y bueno, ahora ya sé de que va, es MENTIRA, simple y llanamente mentira. Nvidia ha desarrollado unas extensiones propietarias que NO son parte de opengl, son simplemente compatibles con Opengl. Si tú estás usando Opengl tu rendimiento va a ser el mismo.
En todo caso la noticia sería 'las extensiones de Nvidia pueden ofrecer un rendimiento de 7 a 15 veces superior', y no es un detalle sin importancia, por que el primero da a entender que el rendimiento mejora en opengl, así que todo lo que ya esté hecho en opengl iría más rápido, mientras que el segundo da a entender que tienes que modificar el código para usar algo nuevo, y además implica que el código deja de ser portable ya que solo funciona en sistemas donde las existan las extensiones de nvidia.
"ya he dicho en varias ocasiones que con DirectX se podría hacer exactamente lo mismo que quieren hacer con OpenGL, pero no lo hacen porque no pueden por temas de licencias y permisos.
"
Y dale, que el fabricante del chip y desarrollador del driver puede hacer lo que le salga del rabo, mira mantle, que no es ni DirectX ni Opengl, ¿oh dios mío como lo han hecho, si según tú eso solo se puede hacer usando opengl por que es libre?
Y para rematar, aquí te dejo unas extensiones que hizo intel para directx:
¿Y ahora qué?, ¿vas a seguir dando la brasa con que solo se pueden sacar extensiones para opengl por que es libre?
Que nvida haya decidido sacar sus extensiones haciendolas compatibles con Opengl es probablemente un movimiento político, como todo lo que hacen estas compañías, no tiene nada con todo el rollo que estás soltando de especificaciones libres.
#1308 No sé la cantidad de gente a la que nos llegan avisos constantemente y seguro que al principio nos alegrábamos esperando ver novedades interesantes y relevantes con respecto a steam os y nos encontramos constantemente con las discusiones que tiene Pr177781 que realmente tendrían que ir en el foro Hardware y software ya que son mucho mas técnicas de lo que se va o debería discutir en el foro de JUEGOS.
Creo que ya somos muchos que te pedimos que busques otro sitio para discutir todo eso.
Pero vamos a ver, que OpenGL sea libre nos beneficia a todos ya sea mejor o peor, siempre se podrá mejorar, pero usando DirectX estamos atados a Windows sí o sí, no puedes sacar un juego en DirectX para Linux, BSD o móviles por ejemplo, así que esa sería una ventaja muy gorda de que sea libre, que lo puedes implementar en la plataforma que quieras y puedes optimizar el kernel, etc.. para ganar rendimiento por otro lado, cosa que con Windows te tienes que comer lo que te dan.
¿Te estoy dando la razón? Bueno si tenemos en cuenta que lo que llevo diciendo los últimos posts es que no tienes ni puta idea de lo que dices, si tú consideras que con eso te doy la razón, pues estamos de acuerdo, no sabes de lo que hablas.
Y por cierto, cuando hablo de que lo hace por política, me refiero a que lo hace por sus intereses propios, que no tiene que ver con licencias, no cambies el significado de mis palabras para pretender que te doy la razón, que te he puesto ya que para directx han hecho extensiones y lo has ignorado como si no existiese.
De todas formas la gente se está quejando y con razón, pones una información que no tiene nada que ver con SteamOS, encima la información es falsa (hablas de mejora de rendimiento en Opengl, cuando es una mejora usando unas extensiones propietarias de nvida), y para como no haces más que argumentar sin saber de lo que hablas (por mucho que intentes hacer que no ha pasado, sigue ahí tu argumentación de 'la implementación de opengl en linux es libre y la mejoran entre todos), así que nada más que añadir a todo esto, si quieres seguir dando la brasa adelante, sigue tú solo
Nuevo post en HARDWARE Y SOFTWARE de discusión TECNICA acerca de las entrañas de STEAM OS por favor.
#1319 Como bien tu mismo dices estas discutiendo sobre "tecnologías que utiliza SteamOS" , por lo que te vas a llenar de post al respecto al subforo de Software que de eso va ese foro, no este que va de juegos, que de juegos no estas hablando.
Yo también puedo decir que esto es un foro por lo que aquí la gente crea post y por eso tu posteas aquí, pero eso no hace que este sea el foro adecuado para tus discusiones, deja de decir paridas.