2 ms·
"Clearly it's Carmack's genius that made this viable." The HMD was functional before Carmack got involved. For example, Hunger in Los Angeles (https://news.usc
by psuedonymous 10y ago
"Clearly it's Carmack's genius that made this viable."
The HMD was functional before Carmack got involved. For example, Hunger in Los Angeles (https://news.usc.edu/32639/hunger-in-l-a-makes-its-mark-at-sundance/ https://news.usc.edu/32639/hunger-in-l-a-makes-its-mark-at-s...) used the PR4 prototype unit months BEFORE Carmack requested a version to try out. It had position tracking and optical pre-distortion at this time. So those concepts were around before Carmack was involved.
As for code itself, Carmack implemented the pre-warp as a shader that projected the rectilinear image onto a surface (geometry). This approach was abandoned years ago and is now implemented with a pixel shader. The Hillcreast IMU Carmack wrote hard-coded support for (which you can look at in Doom BFG and see for yourself) was not even used for the final DK1, let alone later models. The used IMU was created by nrp as the 'adjacent reality' tracker, later hired by Oculus (and you can see the code for THAT tracker too, as both the DK1 and DK2 have had their source released on github).
Despite the first two development versions of the Rift having source available, Zenimax have yet to point to a single line of code as "ah-HAH! you copied this!".
Carmack's key work went into GearVR, not the Rift, where he worked with Samsung on the low-level changes to android (bypassing the Android compositor and USB stack, implementing racing-the-beam asynchronous timewarp).
- efraim 10y ago>As for code itself, Carmack implemented the pre-warp as a shader that projected the rectilinear image onto a surface (geometry). This approach was abandoned years ago and is now implemented with a pixel shader. Not that it matters for your point, but it was the other way around. They are using a mesh based pre-distortion now. >Although the exact distortion parameters depend on the lens characteristics and eye position relative to the lens, the Oculus SDK takes care of all necessary calculations when generating the distortion mesh. https://developer3.oculus.com/documentation/pcsdk/latest/concepts/dg-render/ https://developer3.oculus.com/documentation/pcsdk/latest/con...