mirror of
https://github.com/gomson/TimothyLottes.github.io.git
synced 2026-08-04 14:48:49 +00:00
Add files via upload
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
<html><head><link rel="stylesheet" href="style.css"></head><body><div class="page">
|
||||
<h1>20161103 - Game List</h1>
|
||||
<br>
|
||||
<b>C64</b>
|
||||
<br>
|
||||
<a href="http://www.knights-of-bytes.com/sams-journey">Knights of Bytes - Sams Journey</a><br>
|
||||
<br>
|
||||
|
||||
<b>Flash</b>
|
||||
<br>
|
||||
<a href="http://www.rippledotzero.com">Ripple Dot Zero</a><br>
|
||||
<br>
|
||||
|
||||
<b>PC</b>
|
||||
<br>
|
||||
<a href="https://forums.tigsource.com/index.php?topic=39635.0">Aerobat</a><br>
|
||||
<a href="http://www.chasmgame.com/">Chasm</a><br>
|
||||
<a href="https://forums.tigsource.com/index.php?topic=52597.0">Cyber Shadow</a><br>
|
||||
<a href="http://hollowknight.com/">Hollow Knight</a><br>
|
||||
<a href="http://dyingsungame.com/">House of the Dying Sun</a><br>
|
||||
<a href="http://owlboygame.com/">Owlboy</a><br>
|
||||
|
||||
|
||||
</div></body></html>
|
||||
@@ -0,0 +1,63 @@
|
||||
<html><head><link rel="stylesheet" href="style.css"></head><body><div class="page">
|
||||
<h1>20161104 - Is OpenVR Actually Open?</h1>
|
||||
<br>
|
||||
References,<br>
|
||||
<a href="https://github.com/ValveSoftware/openvr/wiki/API-Documentation">OpenVR Documentation</a><br>
|
||||
<br>
|
||||
<center><iframe width="560" height="315" src="https://www.youtube.com/embed/plRjxIclou8" frameborder="0" allowfullscreen></iframe></center>
|
||||
<br>
|
||||
As someone who was waiting for an Open VR API,
|
||||
I watched the above linked YouTube presentation from Steam Dev Days,
|
||||
and decided to see if such an API actually has now arrived (as of November 2016).
|
||||
Something which might enable me to continue the work I had to stop a while back
|
||||
when consumer VR got locked down and disabled my ability to do what I needed as a developer.
|
||||
Lets see how the current OpenVR stacks up,
|
||||
<br>
|
||||
<br>
|
||||
<ul>
|
||||
<li><strong>Ability to Use Vulkan?</strong> - Looks like this is in progress based on the YouTube video. Very happy about this.
|
||||
<br>
|
||||
<br>
|
||||
<li><strong>Language Agnostic?</strong> - OpenVR requires C++,
|
||||
<i>"The API is implemented as a set of C++ interface classes full of pure virtual functions"</i>.
|
||||
OpenVR is effectively closed to other languages because it does not support standard C exports.
|
||||
<br>
|
||||
<br>
|
||||
<li><strong>Application Ownership of Display?</strong> - Specifically open ability for the application
|
||||
(sold directly to the consumer, or sold through Steam) to have full ownership of the HMD display output
|
||||
without being forced to go through an out-of-process compositor, and with ability to do the ultimate in low-latency: front-buffer rendering.
|
||||
<br>
|
||||
<br>
|
||||
The <a href="https://github.com/ValveSoftware/openvr/wiki/IVRSystem::ComputeDistortion">ComputeDistortion</a> and other related functions
|
||||
do provide ability to query the image transform required for direct rendering.
|
||||
Unfortunately this function, based on the docs, does not have an obvious return value of if the coordinate can be seen or not.
|
||||
Seems like one has to use <a href="https://github.com/ValveSoftware/openvr/wiki/IVRSystem::GetHiddenAreaMesh">GetHiddenAreaMesh</a> instead
|
||||
and then write some complex code to check if the pixel intersects the mesh. This problem seems relatively minor to fix in the OpenVR API.
|
||||
<br>
|
||||
<br>
|
||||
The only display interface on the
|
||||
<a href="https://github.com/ValveSoftware/openvr/wiki/API-Documentation">API Documentation Page</a> says,
|
||||
<i>"IVRCompositor - Allows an application to render 3D content through the VR compositor"</i>.
|
||||
Which is a very interesting choice of words for an "Open" API.
|
||||
The idea that the application needs to do something to be "allowed" to render 3D content,
|
||||
and only "allowing" such 3D content to go through some non-application VR compositor?
|
||||
I only see a <a href="https://github.com/ValveSoftware/openvr/wiki/IVRCompositor::Submit">Submit</a> function.
|
||||
So no front-buffer access, and also no back-buffer access (no ability to create your own swap chain).
|
||||
Looking deeper at the <a href="https://github.com/ValveSoftware/openvr/blob/master/headers/openvr.h">openvr.h</a> headers reveals,
|
||||
<tt>EVRSubmitFlags</tt>,
|
||||
which has a comment which confirms that the API only supports the highest overhead path of an extra copy in an out-of-process compositor:
|
||||
<i>"/** Allows the application to control how scene textures are used by the compositor when calling Submit. */"</i>.
|
||||
Again the "Allows" wording.
|
||||
Digging deeper there is <i>"Submit_LensDistortionAlreadyApplied = 0x01"</i>,
|
||||
which does seem to provide un-WIKI-documented support for submitting a post-warped image.
|
||||
</ul></li>
|
||||
<br>
|
||||
<br>
|
||||
<b>And the Conclusion Is ...</b>
|
||||
<br>
|
||||
<i>Not there yet.</i>
|
||||
<br>
|
||||
Once an application sold on Steam can run VR with Vulkan,
|
||||
and with application-owned HMD display with direct front-buffer access,
|
||||
then it will be time to re-evaluate.
|
||||
</div></body></html>
|
||||
+5
-5
@@ -4,11 +4,11 @@
|
||||
<center><i>Getting Owlboy working on a 29" Makvision VGA Arcade CRT from a VGA Port of an APU based laptop.</i></center>
|
||||
<br>
|
||||
Owlboy appears to be rendering around 640 pixels across, and then when windowed, doubling pixels to get to 1280.
|
||||
It is possible to get Owlboy full-screen on a 640x480x60Hz VGA output, for pixel perfect CRT display (no doubling).
|
||||
It is possible to get Owlboy full-screen on a 640×480×60Hz VGA output, for pixel perfect CRT display (no doubling).
|
||||
<br>
|
||||
<br>
|
||||
Current AMD 16.9.2 Driver has a bug which won't allow the user to make a custom resolution.
|
||||
Was unable to find old drivers on the AMD website until I duckduckgo'ed for old driver and found a link which can be used to grab old drivers,
|
||||
Current AMD 16.9.2 Driver has a bug which won’t allow the user to make a custom resolution.
|
||||
Was unable to find old drivers on the AMD website until I duckduckgo’ed for old driver and found a link which can be used to grab old drivers,
|
||||
<br>
|
||||
<br>
|
||||
<a href="http://support.amd.com/en-us/download/apu/previous?os=Windows%208.1%20-%2064">http://support.amd.com/en-us/download/apu/previous?os=Windows 8.1 - 64</a>
|
||||
@@ -23,7 +23,7 @@ I found I was unable to get full-screen to work at the correct resolution otherw
|
||||
Next bring up <tt>Radeon Settings</tt>, click on the <tt>Preferences</tt> button at the bottom,
|
||||
and then click on the <tt>Radeon Additional Settings</tt>. This brings up a new window.
|
||||
Click on the <tt>Custom Resolutions</tt> button for the attached VGA display.
|
||||
Then click on the <tt>New</tt> button and setup for 640x480x60Hz with Progressive and CVT as the timing standard.
|
||||
Then click on the <tt>New</tt> button and setup for 640×480×60Hz with Progressive and CVT as the timing standard.
|
||||
Then click <tt>Verify</tt> to generate the mode. Accept the mode.
|
||||
With the mode set, start Owlboy and go into full-screen mode (F11 if I remember right),
|
||||
and remember to turn letter-box on.
|
||||
@@ -38,4 +38,4 @@ The game played this way is stunning.
|
||||
<br>
|
||||
<a href="20161105-B.jpg"><img src="20161105-B.jpg" width="640"></a>
|
||||
</center>
|
||||
</div></body></html>
|
||||
</div></body></html>
|
||||
@@ -29,6 +29,8 @@ O OOO ||..||OO||||||||||OOo || ||||||||||||| ||||OO|| |o| ||||||||OO||OOO
|
||||
<br>
|
||||
<b>2016</b><br>
|
||||
<a href="20161105.html">20161105 - Owlboy via CRT</a><br>
|
||||
<a href="20161104.html">20161104 - Is OpenVR Actually Open?</a><br>
|
||||
<a href="20161103.html">20161103 - Game List</a><br>
|
||||
<br>
|
||||
|
||||
</div></body></html>
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
body { text-align:justify; background-color:#222; color:#aaa; font-family:Consolas,monospace; font-size:12px; line-height:150%; width:132ch; margin-left:auto; margin-right:auto; margin-top:1em; margin-bottom:1em; }
|
||||
body { background-color:#222; color:#aaa; font-family:Consolas,monospace; font-size:12px; line-height:150%; width:132ch; margin-left:auto; margin-right:auto; margin-top:1em; margin-bottom:1em; }
|
||||
.page { background-color:#333; border:2px solid #111; padding:2em 2ch; }
|
||||
tt { color:#777; font-family:Consolas,monospace; }
|
||||
tt { color:#c84; font-weight:bold; font-family:Consolas,monospace; }
|
||||
pre { color:#777; margin:0 0; font-family:Consolas,monospace; }
|
||||
i { color:#777; }
|
||||
b { color:#ccc; font-weight: bold; }
|
||||
a { color:#777; }
|
||||
i { color:#48f; }
|
||||
b { color:#ccc; font-weight:bold; }
|
||||
a { color:#fc0; }
|
||||
s { color:#555; }
|
||||
h1 { color:#ccc; font-size:200%; margin:0 0 0 0; line-height:125%; text-align:center; }
|
||||
ul { margin:0 0; padding-left:0; list-style-type:none; }
|
||||
ol { margin:0 0; padding-left:0; list-style-type:none; }
|
||||
li:before { content:": "; color:#555; }
|
||||
img { border:2px solid #111; }
|
||||
li { text-indent:-2ch; padding-left:2ch; }
|
||||
li:before { content:"> "; color:#555; }
|
||||
img { border:2px solid #111; }
|
||||
iframe { border:2px solid #111; }
|
||||
strong { color:#f42; font-weight:bold; }
|
||||
Reference in New Issue
Block a user