cancel
Showing results for 
Search instead for 
Did you mean: 

Cannot figure out texture filtering in Gear VR

tejad
Honored Guest
Note: Reposting from support forum.

We're working on GearVR app. We're building on top of Samsung's GearVRf framework. We're working on simple 360 photosphere viewer. But we're having quality issues because of texture filtering.

Question 1: What is the eye buffer resolution of the oculus360photos app? The source shipped with the ovr sdk seems to be setting 1k x 1k. When we compiled it, the quality seems to be much lower than the version from the oculus store. Are we looking at an older copy of the source or is it mean't just as a sample. Does the app (oculus360photos) from the store use a higher eye buffer resolution?

Question 2: We're using Samsung Galaxy S7 and would like to get a nice 1:1 pixel texel mapping. We have 8k x 4k images. But with 1280 x 1440 eye buffer resolution, all the pixels are being sampled from the 4k x 2k mipmap. The 8k map is not being touched. Based on our understanding, with a 1280 x 1440 screen resolution we would roughly need a 6k x 3k texel resolution. Are we missing something here?

Question 3: It seems texture filtering also varies radially from the direction we are viewing in. Why is this? Why is there a lower pixel to texel ratio at the centre of the lenses compared to the edges? 

1 REPLY 1

drash
Heroic Explorer
Q1: In the past there was either no way to change the 1k x 1k default eye texture resolution (other than editing the OVR Unity plugin source), or you could configure it via OVRManager.  But I think now this is done via render scale settings in OVRManager in Unity 5.4+.   I do believe you're right that some of the official Oculus apps have carefully dialed in the use of higher resolution eye textures.

Q2: One idea is to remove the mipmaps from your 360 photo, so that it has no choice but to sample the full resolution.  And there are other ways of introducing a mipmap level bias, but I forget where.

Q3: If you are using bilinear filtering, seeing the the edge between mipmaps can be very obvious as you move your head around.  This is because your 360 photo is a sphere and the far side of your render frustum's depth buffer is flat.  The answer here is either force a single mipmap level (or no mipmaps), or trilinear filtering which comes with a performance cost but is often worth it.

  • Titans of Space PLUS for Quest is now available on DrashVR.com