Oculus lanza y retira la versión 0.6 beta del SDK

Oculus publicó y retiró ayer la versión 0.6 beta de su SDK para Windows, que supone un importante cambio respecto a las anteriores, siendo el más llamativo la inclusión del Compositor, que permite renderizar distintas capas y superponerlas en nuestra aplicación.

15 May 2015  8:14

altair28

26 comentarios

Oculus lanza y retira la versión 0.6 beta del SDK

Suponemos que detectaron algún problema importante y prefirieron arreglarlo antes de que la gente llegase a descargar la versión, pero algunos usuarios fueron muy rápidos y se hicieron con ella, publicando el listado completo de cambios. Las características más destacadas son:

  • Inclusión del servicio y los sets de texturas del Compositor
  • Inclusión del soporte de capas
  • Eliminación del renderizado basado en el cliente
  • Simplificación de la API

El servicio Compositor traslada el renderizado de la distorsión desde el proceso de la aplicación al proceso OVRServer usando sets de texturas que son compartidos entre ambos procesos. Un set de texturas es básicamente una cadena de intercambio, con buffers rotados para permitir al renderizado del juego seguir adelante mientras el fotograma actual es distorsionado y mostrado. El soporte de capas permite que múltiples objetivos de renderizado de la aplicación sean enviados independientemente al HMD. Por ejemplo, se podría renderizar un frontal, un fondo y un espacio de juego cada uno en su propio objetivo de renderizado separado. Cada objetivo de renderizado es una capa y las capas son combinadas por el compositor (en lugar de por la aplicación) antes de ser distorsionadas y mostradas. Cada capa puede tener diferente tamaño, resolución y tasa de actualización. Por último, la simplificación de la API principalmente elimina el soporte para el renderizado basado en la aplicación.

 

Nuevas características

 

• Añadido el servicio Compositor, que mejora la compatibilidad y el soporte para aplicaciones simultáneas.

• Añadido el soporte de capas, que incrementa la flexibilidad y permite a los desarrolladores afinar las configuraciones basadas en las características y requerimientos de cada capa.

• Sistema de manejo y reporte de errores mejorado significativamente

• Añadido un conjunto de nuevos proyectos de ejemplo que muestran técnicas y las nuevas características del SDK

• Eliminados los suplementos del lado de la aplicación de las APIs de DirectX y OpenGL, lo que conlleva una mejor compatibilidad y fiabilidad del runtime.

• Se ha simplificado la API, como se ha explicado arriba.

• Cambiado el modo Extendido para usar el proceso compositor. La configuración de renderizado es ahora idéntica en los modos extendido y directo. La aplicación ya no necesita saber que modo está siendo usado.

• El modo extendido ahora puede soportar mirroring (imagen en espejo), que antes solo era soportado por el modo Directo.

• Interfaz de temporización simplificada y fortalecida moviéndolo a una función sencilla: ovrHmd_GetFrameTiming

• Arreglados unos cuantos fallos y problemas de fiabilidad.

 

Nuevas características importantes para Unity:

 

• Deshabilitado el antialiasing de textura de ojo cuando se usa renderizado diferido. Esto soluciona el problema de pantallas negras.

• Eliminada la necesidad del DirecttoRift.exe en Unity 4.6.3p2 y posteriores.

• Eliminada la dependencia de hardware del runtime de Oculus. Las aplicaciones ahora renderizarán en mono sin tracking cuando no haya un visor de VR presente.

 

Los cambios en la API en esta versión representan una importante revisión de la API. Estos cambios simplifican significativamente la API mientras mantienen la funcionalidad esencial. Los cambios en la API incluyen:

 

• Eliminado el soporte para el renderizado de la distorsión basado en la aplicación. Las funciones eliminadas incluyen ovrHmd_CreateDistortionMesh, ovrHmd_GetRenderScaleAndOffset, etc. Si crees que necesitas renderizado de la distorsión basado en la aplicación, por favor contacta con Oculus Developer Relations.

• Añadido ovrSwapTextureSets, que son texturas compartidas entre el proceso OVRServer y el proceso de la aplicación. En lugar de usar tus propios buffers de respaldo, las aplicaciones deben renderizar escenas en VR y capas a texturas ovrSwapTextureSets. Los sets de texturas son creados con ovrHmd_CreateSwapTextureSetD3D11/ OpenGL y destruidos con ovrHmd_DestroySwapTextureSet.

• ovrHmd_BeginFrame se ha eliminado y ovrHmd_EndFrame ha sido sustituido por ovrHmd_SubmitFrame.

• Se ha añadido una nueva capa de API. Una lista de punteros de capas se pasa a ovrHmd_SubmitFrame.

• Mejorados los informes de errores, incluyendo añadir el tipo ovrResult. Algunas funciones de la API se han cambiado para devolver ovrResult. ovrHmd_GetLastError se ha cambiado por ovr_GetLastErrorInfo.

• Eliminado ovr_InitializeRenderingShim ya que no es necesario con el compositor basado en servicio.

• Eliminadas algunas banderas de ovrHmdCaps, incluyendo ovrHmdCap_Present, ovrHmdCap_Available, ovrHmdCap_Captured, ovrHmdCap_ExtendDesktop, ovrHmdCap_NoMirrorToWindow, y ovrHmdCap_DisplayOff.

• Eliminado  ovrDistortionCaps. Parte de su funcionalidad está presente en ovrLayerFlags.

• ovrHmdDesc ya no contiene información del dispositivo de visualización, ya que el servicio compositor ahora maneja el dispositivo de visualización.

• Simplificado ovrFrameTiming para únicamente devolver el valor de predicción de temporización de DisplayMidpointSeconds. El resto de información de temporización está ahora disponible a través del hilo seguro de ovrHmd_GetFrameTiming. Las funciones ovrHmd_BeginFrameTiming y EndFrameTiming functions se han eliminado.

• Eliminadas las funciones de LatencyTest (ej. ovrHmd_GetLatencyTestResult).

• Eliminadas las funciones de PerfLog  (ej. ovrHmd_StartPerfLog), ya que fueron reemplazadas por ovrLogCallback (introducida en el SDK 0.5).

• Eliminadas las funciones relacionadas con el aviso de Salud y Seguridad  (ej. ovrHmd_GetHSWDisplayState). La funcionalidad del aviso es ahora manejada automáticamente.

• Eliminado soporte para el mirroring automático del HMD. En su lugar, la aplicación ahora puede crear una textura de espejo (ej. with ovrHmd_CreateMirrorTextureD3D11 / ovrHmd_DestroyMirrorTexture) y manualmente mostrarla en una ventana del escritorio. Esto da a los desarrolladores flexibilidad para usar la ventana de la aplicación de la forma que mejor vaya con sus necesidades, y elimina el problema con OpenGL de los SDKs anteriores, en los que el back-buffer de la aplicación limitaba el tamaño del render del HMD

• Añadido ovrInitParams::ConnectionTimeoutMS, que permite especificar un tiempo límite para que ovr_Initialize se complete con éxito.

• Eliminadas ovrHmd_GetHmdPosePerEye y added ovr_CalcEyePoses.

• Corrección de diversos errores, incluyendo algunos problemas de rendimiento y judder.

Comentarios (26)

Enlace al foro
  • SymphonicGamer:Algún roviano que lo tenga tendría la amabilidad de subirlo a un servir para poder bajarlo,  estoy con unas ganas de probarlo waaaaaa!!!


    Te recomiendo esperar a que saquen la versión definitiva, no creo que tarden mucho en volver a poner los links oficiales.
    0 0
  • La competencia es muy buena para los usuarios cuando de verdad la hay.

    En el caso de este SDK de Oculus, nada de lo que ha hecho Valve hasta el momento ha influido en su desarrollo. El 5 de marzo, como he puesto más arriba, el jefe de desarrollo de Oculus hizo una presentación en el GDC de diferentes técnicas que en las que estaban trabajando en ese momento para mejorar el SDK, entre las cuales se encontraban el VR compositor, el Asincronous Timewrap y el Late Latching. Esto ocurría el día el mismo día que Valve empezaba a presentar a los medios su HMD Vive y su SDK SteamVR, luego influencia no ha podido haber ninguna. De hecho la idea de un sistema de Compositor no es nueva y ya existe en otras APIs gráficas, como la que lleva la Xbox One.

    http://www.roadtovr.com/oculus-presents-developing-vr-apps-with-oculus-sdk-live-blog-1245-pst/

    Por tanto, todas estas features nuevas de Oculus no hay que agradecérselas a Valve, la verdad, sino al constante trabajo de mejora que lleva haciendo Oculus durante más de un año con el tema del SDK.

    Y que nadie piense que el Compositor resuelve todos los problemas. Quedan aún muchas papeletas pendientes, algunas en espera de nuevos drivers de Nvidia y de AMD, y otros en espera de Windows10. El camino hacia el SDK perfecto que haga funcionar las experiencias de RV en PC igual de rodadas que lo hacen en un GearVR todavía es largo. Y tanto Oculus como Valve como quien sea sabe que tienen que trazar ese camino. Esto no competencia por ofrecer un producto mejor, sino un mínimo a partir del cual poder decir que existe un producto comercial. La competencia por ofrecer algo mejor creo que empezará en la versión 2 que los fabricantes saquen de 2017 en adelante. Por ahora, todos estarán dándose con un canto en los dientes si alcanzan el mínimo necesario, que ya es.
    0 0
  • ¡Hombre, algo si que habrá influido, porque nos tenían más olvidados que Orzowei!

    Saludos.

    0 0