|
Llevamos mucho tiempo esperando al momento más importante del mundo de los gráficos, la salida de OpenGL 3.0, que prometía un montón e cosas nuevas. Sobre todo, un sistema de objetos que permitiese un acceso directo a la información del driver. Además, el driver sería mucho m´s sencillo de escribir que antes. Se esperaba un completo rewrite del API, dejando atrás más de 15 años de herencia que ya se había convertido en un lastre muy gordo. Se intentaría resolver el problema de que hoy en día, hay muchas formas de hacer lo mismo con opengl, pero dependiendo del hardware, una será más rápida que otra. Un rewrite del API solucionará esto. Pues bien, ya tenemos la nueva especificación de OpengGL 3.0 disponible . Y no podemos calificarla más que de auténtico fiasco y desastre. Todo lo que tiene que ofrecer el khronos group es una serie de extensiones de nvidia que ahora pasan a ser parte del core, y una nueva pesadilla, el "Deprecation Model", donde hay funcionalidad que está deprecada. Despues de más de un año de "intenso trabajo", aqui tenemos un ejemplo de informaticos viviendo en el mundo de las pajaritas, que van bajando al mundo de la realidad poco a poco, hasta sacar un churro. Ahora ya no solo hay que perder un buen rato intentando descifrar qué extensiones están soportadas, si no que tendremos que andar mirando qué funciones están soportadas. Y nada más. Aqui tenemos la lista de maravillas: - API support for the new texture lookup, texture format, and integer and unsigned integer capabilities of the OpenGL Shading Language 1.30 specification (GL EXT gpu shader4).
- Conditional rendering (GL NV conditional render).
- Fine control over mapping buffer subranges into client space and flushing modified data.
- Floating-point color and depth internal formats for textures and renderbuffers (GL ARB color buffer float, GL NV depth buffer float, 455 N.2. DEPRECATION MODEL 456 GL ARB texture float, GL EXT packed float, and GL EXT texture shared exponent).
- Framebuffer objects (GL EXT framebuffer object).
- Half-float (16-bit) vertex array and pixel data formats
(GL NV half float and GL ARB half float pixel). - Multisample stretch blit functionality (GL EXT framebuffer multisample and GL EXT framebuffer blit).
- Non-normalized integer color internal formats for textures and renderbuffers (GL EXT texture integer).
- One- and two-dimensional layered texture targets
(GL EXT texture array). - Packed depth/stencil internal formats for combined depth+stencil textures and renderbuffers (GL EXT packed depth stencil).
- Per-color-attachment blend enables and color writemasks
(GL EXT draw buffers2). - RGTC specific internal compressed formats (GL EXT texture compression rgtc).
- Single- and double-channel (R and RG) internal formats for textures and renderbuffers.
- Transform feedback (GL EXT transform feedback).
- Vertex array objects (GL APPLE vertex array object).
- sRGB framebuffer mode (GL EXT framebuffer sRGB)
Plus deprecation of older features.
Esto podía ser perfectamente OpenGL 2.2 y no pasaría nada... pero es el típico caso de anunciar cosas que no existen,ir sacandolas a ver si cuela,e intentar arreglarlo cuando ya es tarde. Porque todo lo que no ha podido microsoft, lo va a conseguir la pandilla del khronos group. Mirad la web de OpenGL 3 , una foto y un logo, que interesante! Los foros de internet están que trinan... la gente esperaba algo más serio. No es tanto el API en sí (aunque lo de marcar cosas como deprecated es una cagada muy gorda) si no la forma de llevar todo esto. Tanto lio para al final nada... además, seguramente los drivers servirán sólo en tarjetas nvidia y tardarán en salir. Este es el foro de gamedev , y este el de opengl. Con todo esto, el futuro es un poco desolador... DX10 sólo funciona en vista, y microsoft está centrandose más en la XBOX y el XNA que en la comunidad... y opengl no soporta muchas cosas de las nuevas tarjetas (los geometry shaders es una extensión que ATI no soporta, y parece que van lentos)
|