OpenVR 控制器的進階顯示方法

從買了 HTC Vive 後,Heresy 這邊一直有在研究怎麼用 OpenVR 這個 SDK 來開發 C++ 搭配 OpenGL 的虛擬實境程式,而實際上,到現在也算有些可以用的成品了。

而由於 Windows Mixed Reality 系統的頭戴顯示器(例如 Acer AH101)也可以透過「Windows Mixed Reality for SteamVR」來執行 OpenVR 的程式,所以當然也會想讓自己的程式可以支援 Windows MR 的硬體了~

基本上,在顯示的部分,只要透過 OpenVR 來開發,理論上就可以直接用(還是有些狀況就是了);但是在控制器的顯示部分,卻碰到了比較直接的問題…

那就是雖然在使用 HTC Vive 的時候是可以正確顯示的,但是在換成 Acer AH101,卻沒有辦法畫出控制器來。

閱讀更多»

廣告

使用 QGraphicsScene 繪製 widget、產生 OpenGL Texture

從去年開始,Heresy 就有在試著用 Qt 搭配 OpenVR,開發支援 SteamVR 的虛擬實境的程式。當時在寫的時候,一部分是參考 GitHub 上的「QVRViewer」這個專案(連結),也算是成功地把 Qt OpenGL(官網)的框架,成功地和 OpenVR 整合到一定程度了。

而接下來,則是希望可以在虛擬實境的環境裡面,顯示圖形介面的部分。這部分,則是參考了 OpenVR 的「helloworldoverlay」這個範例(連結);在它裡面的「openvroverlaycontroller.cpp」這個檔案(連結)就有把 Qt 的 Widget 繪製成 OpenGL Texture、並手動傳送滑鼠事件進去的操作方法。

首先,他這邊的概念,就是透過 Qt Graphics View Framework 的框架,來繪製 QWidget;而和一般使用 QGraphicsScene 時不同的地方,是這邊不會去使用 QGraphicsView 來做呈現,而是特別去設定要使用的 QPainter,來決定要畫到哪裡。

閱讀更多»

使用 Windows 10 的「混合實境入口」作為 OpenVR 程式開發的模擬器

Heresy 這邊之前在取得 HTC Vive 後,有透過 OpenVR 這個開發環境,來做一些顯示、互動上的程式開發。

而在開發中的一個問題,其實就是在進行測試的時候,需要有 HTC Vive 的硬體、有的時候也需要戴起來到處走動,才能確認程式是否撰寫正確;某方面來說,就和開發 OpenNI / Kinect 時類似,必須離開電腦才能測試,其實有點麻煩。

由於 Valve 似乎沒有針對 OpenVR / SteamVR 推出模擬器,來方便開發(不過似乎有方法可以透過「null driver」來做到一定程度、參考),所以其實還滿麻煩的。

不過,前一陣子微軟的「Windows Mixed Reality for SteamVR」開始開放給一般人用的,某方面來說,倒是提供了一個相當方便的 OpenVR 開發模擬環境可以使用了!

閱讀更多»

HTC Vive 移動定位器

本體Heresy 這邊已經寫過 HTC Vive 的開箱文了,而目前也有針對他移植了一些既有的程式,目前他也是 Heresy 這邊的主要展示用硬體了。

而 HTC 為了拓展 VR 環境的彈性,所以除了原來可以定位的控制器外,又額外推出了「VIVE 移動定位器」(Vive Tracker、官網,一個 $3,499)這個比較小型、沒有按鈕的定位裝置,讓開發者可以用來開發自己的 VR 硬體。

雖然還沒有很明確地想到要拿來做什麼,不過 Heresy 這邊還是買了一個,想說來試試看能不能玩出些新把戲。
而這篇就是這個東西的開箱文了~

閱讀更多»

OpenVR 搭配 OpenGL 的顯示方法

在今年五月的時候,Heresy 有寫了一篇《HTC Vive 開發方案:OpenVR 簡介》,大概介紹過 OpenVR(GitHub)粗略的架構了;當時 OpenVR 的版本還是 1.0.0,Heresy 主要是針對他的幾個模組的功用,做簡單的說明,並沒有認真地去講程式到底怎麼寫。

後來,其實 Heresy 算是有真得下去寫他的程式,也根據自己的需求、搭配 freeglut 重寫出一些小範例(GitHub)了。

到現在過了超過半年,OpenVR 也更新到 1.0.4 了,和 Heresy 剛開始研究時相比,不但 API 有做了一些修改,「hellovr_opengl」的程式內容,也做了相當程度的調整。

而這篇,就以「hellovr_opengl」這個官方範例,來大概紀錄一下怎麼寫 OpenVR 的 OpenGL 程式吧。

閱讀更多»

HTC Vive 開發方案:OpenVR 簡介

Heresy 之前已經在《HTC Vive Pre 使用感想》裡,針對 HTC Vive Pre 的開箱文、到使用感想,做了一定的整理。而中間也有提過,Heresy 也有試著用 Valve 提供的 SDK、OpenVR 來開發程式了;這篇基本上算是紀錄一下 Heresy 目前對 OpenVR 的感想。

首先,OpenVR 目前支援 Windows、Linux 以及 Mac OS X 32,相關的檔案都放在 GitHub 上了,他的連結是:

https://github.com/ValveSoftware/openvr

而在要開始之前,要先講一下一件最重要的事,那就是:

OpenVR 雖然掛著「open」這個字,但是他並不是開放原始碼的專案!

閱讀更多»