16

VR requires a much higher resolution and framerate, and a much lower latency (start of draw to showing on screen). If any of those things are missing then people tend to get nauseated. All of those require much higher bandwidth and compute power than Apple's cards are supposed to be able to handle.


14

When your GPU displays a new frame on the screen, it transfers the image over the HDMI cable (or whatever kind) in a process called "scanout". The pixels are sent out in linear order, usually left-to-right and top-to-bottom. The process is timed so that it takes most of the duration of a refresh interval to do this. For instance, at 60Hz, one frame is ~17 ...


13

It's pretty easy to create a single frustum that encloses both of the individual eye frusta, as shown in this diagram created by Cass Everitt at Oculus. You just have to place the vertex of this frustum between the eyes and behind them a little bit. You can also increase the near plane distance to match the original near plane of the eye frusta. Such a ...


10

Macs are not gaming machines. They never have been. There was a time maybe 10-15 years ago when you could build a mid-tier gaming Mac, at significantly higher expense than a PC, but Macs have never catered to anything more than very casual gamers. They don't run other games "easily" - they just adequately run some games, barely run others, and ...


9

As other people have mentioned, due to network latency issues, I think that full rendering on a cloud server and streaming video to a client device is unlikely to be workable. Even if the latency can be kept low enough in a best-case scenario, it would only work for a very limited number of users with very high-quality internet connections. (Don't forget ...


9

Avoid stereo when possible There was some research published recently measuring when users can or cannot tell whether the specular contribution, which is view point dependent, is different between eyes. Perception of Highlight Disparity at a Distance in Consumer Head-Mounted Displays In the future, this could be use to share some computation between the two ...


7

Alex Vlachos from Valve has had two great GDC talks about this: the one from 2015 the one from 2016 Other than that (and what you have linked yourself), there isn't much left to do than to simply optimize your app until you spend at most 10 ms per frame (100 Hz, targeting a 90 Hz display + margin). Standard rendering optimizations apply. Apply a technique, ...


7

A VR headset is a monitor in terms of connections that just requires special software, but the issue is more of software and the capabilities of Mac hardware. You are most likely referring to the founder of Oculus, Palmer Luckeey, and his comment on Macs. He said: You can buy a $6,000 Mac Pro with the top of the line AMD FirePro D700, and it still ...


6

I've generalized Everitt's results if that's needed. As a bonus, a way to extract left0/right0 from the eyes perspective matrices: left0 = n0 * (Mle13 - 1) / Mle11; right1 = n1 * (Mre13 + 1) / Mre11; If you have row major. transpose for column major. c.f. this answer


5

There are several major Computer Graphics publications that have a jobs section. Try Siggraph for example. I'm pretty sure I saw a similar thing for Eurographics, but I can't find it right now. Furthermore, you can look for applicants at the conferences themselves, if you have the resources to do so. If you accept students that just finish university, you ...


5

First of all, the "frameless rendering" technique is in the context of raytracing, not rasterization. It's not obvious how it could be made to work effectively with rasterization, given that the basic idea of it is to update an image by a combination of temporal reprojection plus firing rays specifically at areas where the algorithm thinks the image is ...


5

Ideally, motion-to-photon latency is exactly what it says. It measures time from when the user physically makes a motion (say, begins to turn their head) to when the photons physically coming out of the display change to reflect that motion. With a bit of apparatus, this can be measured directly—for instance by using a high-speed camera aimed at the headset....


5

You are essentially correct in assuming that it is technically feasible to distribute the rendering computation workload. It is, essentially, a computation workload like any other; possibly even better-suited for parallelization due to its very nature: many similarly structured units running the same code path (i.e. vertices, pixels). What you are ...


5

While this MSDN page does claim that SV_RenderTargetArrayIndex can be written in a pixel shader, I believe this is incorrect. Viewport array index and RT array index values are both intended to be output by the geometry shader stage. They can then be read by the pixel shader (and have a constant value per-primitive, based on the GS output). However, it is ...


4

A external monitor in most cases is only one viewport. Means you have a monoscopic image displayed. Having a HMD (Head-Mounted Display) like Oculus Rift requires you to render your virtual scene for both eyes in order to have stereoscopic 3D. This is essential for the immersion and having immersion is the only reason to use a HMD. But rendering two ...


4

Be careful, using a single frustum for culling only works if the combined field of view of the eyes is less than 180 degrees. There are now VR headsets with a larger field of view around 200 degrees, i.e. the Pimax 5k+ and StarVR. It's impossible to construct a traditional view frustum or single projection matrix for a field of view over 180 degrees. These ...


4

So far, I've been able to attach to vrcompositor.exe with RenderDoc and intercept the D3D calls that do the composition. According to Baldur Karlsson (the author of RenderDoc), it's not that hard to hack RenderDoc to use its hooks to run arbitrary code on each Present call of the chain I'm interested in. I've not had a chance to try that out yet, so this ...


4

Yes, there are advantages. You can render different command buffers to different queues. Modern NVIDIA hardware, in particular, offers a full sixteen separate queues that are capable of rendering independent graphics operations. By putting each eye in a separate queue, you may be able to use the available hardware resources more efficiently. Then again, it ...


3

A website devoted to prescanned photogrammetry is :Quixel.com They did (at least some of) the assets for the version 5 unreal engine demo. I have gotten excellent results with software from Agisoft but it costs real money. For good free software try 3DF Zephyr This software will just generate the mesh, they will provide only minimal navigation of the result ...


3

Strictly speaking I think that the latency coming from transferring data over the network will not be low enough for VR. The device will need to send all the head tracking data and the user input over the network to the cloud based rendering farm. Then that data and input would need to be processed, rendered and the video streamed back to the user. Can you ...


2

I always feel gaming, particularly AAA gaming (e.g., FPS), is and will be the last application for cloud rendering, regardless being VR or not. VR simply makes the problem/requirement harder. Because of the tight loop of interactivity, latency is the the blocking factor as others have pointed out -- and we know that unlike bandwidth, latency is a much ...


2

That's a tough one. This is going to be anecdotal evidence, but in the case of other graphics programmers I know and myself, each of us has a selection of companies we hold in high esteem based on their achievements, and we watch their websites for job postings. Getting on people's "employer wishlists" is difficult for obvious reasons, though, especially if ...


1

Hello Djgaven588 and welcome to the forums! This is not a computer graphics question, but a computer vision one. The answer to it is a little bit involved and I cannot make it justice on a forum post. However, I can point you in the right direction so that you are able to find the answer by yourself. Here's a helpful link: https://docs.opencv.org/master/d9/...


1

FBOs can only use a single depth image, but that image can be layered. Broadly speaking, VR multi-eye rendering ought to be done through layered FBO images for both the color and depth buffers. The problem with your code is that you can't use glFramebufferTexture3D to attach a layered image. You must use glFramebufferTexture. Also, you need to use layers for ...


1

There are a few ways you can do it. Basically, you need to get your photo into a format that's suitable for using as an environment map. There are a number of such projections available. The most common ones I've run into for 360° video are: Cube maps - 6 images that show what the camera would see if it were looking forward, backward, left, right, up and ...


1

Since you're asking in this Stack Exchange, I assume you intend to build a VR app yourself that utilizes this scenario. While it is perfectly possible to utilize PC for rendering and stream the output to a mobile VR headset, it will come at the relatively high cost of increased latency (see e.g. here for why this is important; the tl;dr is that high latency ...


1

The great thing is we can finally predict scan-line exact raster accuracy with no access to a per-scanline query: https://www.youtube.com/watch?v=OZ7Loh830Ec I have come up with the exact microsecond-accurate formulas as a VSYNC offset, to predict the position of a tearline. Tearlines during VSYNC OFF are always raster-exact, so you can steer them out of ...


Only top voted, non community-wiki answers of a minimum length are eligible