# OpenVR

OpenVR é um kit para desenvolvimento de programas de computador (SDK) e uma interface de programação de aplicativos (API) desenvolvido pela empresa norte-americana Valve Corporation para oferecer suporte ao SteamVR e outros dispositivos de realidade virtual (VR); Ou seja, é uma interface entre os dispositivos (hardware) e as aplicações VR (software) implementado pelo SteamVR. Suporta os óculos Valve Index, HTC Vive, Oculus Rift, Windows Mixed Reality e, outros.
Embora o OpenVR seja o SDK padrão do HTC Vive, ele foi desenvolvido para oferecer suporte a vários fornecedores. Por exemplo, um desenvolvedor pode projetar funções de botão de gatilho baseadas em OpenVR para controladores de Oculus Rift ou Windows MR, porque ambos os sistemas são suportados pelo SDK.
A Valve anunciou que irá cooperar com o projeto "Open Source Virtual Reality" (OSVR), embora a extensão da cooperação não esteja clara.

## Lançamento

OpenVR SDK foi lançado ao público em 30 de abril de 2015 pelo desenvolvedor da válvula, para o desenvolvedor desenvolver jogos e software SteamVR . Ele fornece suporte para o HTC Vive Developer Edition, incluindo o controlador SteamVR e Lighthouse. Esta versão é o próximo passo para a primeira grande remessa da Developer Edition.
O SDK substituiu a API que estava disponível anteriormente em steamvr.h no Steamworks SDK. A API antiga continuará a receber suporte indefinidamente, mas os aplicativos que exigem qualquer um dos novos recursos devem mudar para o novo SDK.
Várias novas interfaces foram adicionadas e as interfaces existentes receberam novos métodos. Os detalhes podem ser encontrados na documentação da API do OpenVR.
Com o novo OpenVR SDK, o software agora pode ser conectado ao hardware SteamVR. O SDK pode ser baixado da página github do OpenVR. Ele suporta todos os produtos SteamVR.
O SteamVR Unity Plugin e o suporte nativo SteamVR no Unreal 4.8 foram implementados para oferecer suporte ao Unity, além do suporte ao OpenVR SDK. Ambos estão disponíveis logo após o lançamento inicial do OpenVR.

### Notas de lançamento

As alterações da interface SteamVR no SteamWorks SDK 1.31 para a versão inicial do OpenVR incluem
* IHmd agora é IVRSystem
* Adicionado suporte para vários objetos rastreados.
* Busca movida de vários valores sobre HMDs e outros dispositivos rastreados em propriedades.
* Adicionado suporte para fornecer aplicativos com modelos e texturas para dispositivos rastreados.
* Previsão de rastreamento esclarecida e alterada.
* Adicionado origem para chamadas que retornam poses.
* Renomeado IVRSystem::ZeroTracker para IVRSystem::ResetSeatedZeroPose
* Adicionado velocidade angular e velocidade aos dados retornados com a pose de um dispositivo rastreado.
* Vinculações CAPI e C# para interfaces OpenVR adicionadas aos cabeçalhos.
* Adicionado IVRSystem::PollNextEvent à API.
* Adicionada nova interface IVRChaperone para consultar os limites hard e soft do chaperone.
* IVRSystem::GetHiddenAreaMesh. Ele retorna a malha de estêncil a ser usada para minimizar a renderização de pixels para o HMD atual.
* Removido GetIPD. Em vez disso, use a propriedade Prop_UserIpdMeters_Float.
* Interface IVRCompositor adicionada

## Veja também

* OSVR, biblioteca de código-aberto com objetivos semelhantes da Sensics, Razer e, uma comunidade de parceiros e colaboradores
* OpenXR, padrão aberto e livre para acesso à realidade virtual e dispositivos de realidade aumentada