Forum Discussion
hacKTorVR
12 years agoHonored Guest
Dynamic resolution: Camera.rect.x and y VS "Scale Render"
SDK 0.4.2 beta Hi there, I implemented some kind of a dynamic resolution script that adjusts the "resolution" of the two eye cameras. First I wanted to do this via "Scale Render" of OVRCamer...
hacKTorVR
12 years agoHonored Guest
Yes, I am using deferred rendering, no image effects though for now.
And yes I can confirm, that Scale Render seems to work as expected in forward rendering (once I had my script, it was fairly easy to also implement a "scale render mode" for forward rendering), though it does glitch when changing the value (editor: very strongly, build: probably acceptable but still slightly sensible). I'm guessing it comes from recentering/positioning the adjusted rendertextures.
That's also why the same glitch doesn't happen in deferred when using the camera.rect.x/y method, as the rendertextures don't seem to be needed to be recentered again. But … of course (!) … camera.rect.x/y only works in deferred and NOT in forward. In the latter you can actually see the rendertextures scaling up and down to the top right corner.
To your question about scaling the resolution back up: I am using a fps tracking method almost identical to the one in OVRMainMenu and an update interval of 0.5s. I'm not sure how these values are really connected to the vsynced reality. But at least in my case with a Mac, I do get fps values that are greater than 75Hz like this. Though I buffer out at least one interval before scaling up again, to reduce overhead on spikes.
And yes I can confirm, that Scale Render seems to work as expected in forward rendering (once I had my script, it was fairly easy to also implement a "scale render mode" for forward rendering), though it does glitch when changing the value (editor: very strongly, build: probably acceptable but still slightly sensible). I'm guessing it comes from recentering/positioning the adjusted rendertextures.
That's also why the same glitch doesn't happen in deferred when using the camera.rect.x/y method, as the rendertextures don't seem to be needed to be recentered again. But … of course (!) … camera.rect.x/y only works in deferred and NOT in forward. In the latter you can actually see the rendertextures scaling up and down to the top right corner.
To your question about scaling the resolution back up: I am using a fps tracking method almost identical to the one in OVRMainMenu and an update interval of 0.5s. I'm not sure how these values are really connected to the vsynced reality. But at least in my case with a Mac, I do get fps values that are greater than 75Hz like this. Though I buffer out at least one interval before scaling up again, to reduce overhead on spikes.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 8 months ago