Comments (4)
Hi esminis,
since I had your same issue, I have investigated the problem, and it looks like that the reason because the textures are not sampled correctly, is that the cardboard SDK developers have used a texture sampler object, and probably they forgot to unbind it at the start of each stereo renderer callback (this can be verified by checking the OpenGL trace in a the android monitor).
This is especially confusing, as sampler objects are really OpenGL ES 3.0-only features, but some vendors return OpenGL ES3.0 contexts on ES3-capable devices, even if setEGLContextClientVersion (2)
is specified (or at least this is true for Qualcomm), as it might be permitted by the method definition.
To be frank, I think behavior can be seriously categorized as a bug, as the sampler object will be used even if the app is created with OpenGL ES2.0 in mind, but running on a OpenGL ES 3.0 capable device (at least a Qualcomm-based one), leaving the app developer no easy way to work around the issue (there is no glBindSampler
in GLES20
...).
A temporary work around for you could be:
- if you are doing OpenGL ES3.x, just be aware of the currently bound sampler, and handle your opengl state accordingly
- if you are doing OpenGL ES2.x things get more complicated: you have to check if your current context is really a OpenGL ES3.x context and, only in that case, use some
GLES30
functions to turn the sampler object(s) on and off.
Of course this will be required only until the cardboard developers will have fixed the issue (which IMHO would mean unbinding them correctly at the start of each StereoRenderer
callback, turning them nicely invisible...).
Hope this helps,
Riccardo
from gvr-android-sdk.
I can confirm - I get ES3.x context instead of ES2.x and sampler object is bound...
Thanks Riccardo for solution. I hope this problem gets fixed
from gvr-android-sdk.
Indeed, when rendering to a context that supports ES3 we use a sampler object, and it wasn't getting cleaned up before calling back to the application. We'll have a fix in the next release that should properly restore the state. Thanks for flagging this!
from gvr-android-sdk.
Closing this issue, since 0.6 update should fix this. @esminis, thanks for the report and please re-open if that's not the case.
from gvr-android-sdk.
Related Issues (20)
- GVRAudioEngine: Can't play audio files from external Storage.
- VR Audio support for https resources and ByteArrayInputStream?
- The stereoview is completely wrong on Honor V20 when HD+ is enabled
- GvrApi::RecenterTracking() move center to back if roll more 90 degrees
- The video moves even when there is no movement of the smartphone.
- Pixel 3 XL Daydream Screen Way Too Dim HOT 2
- Can‘t build sample with 1.200.0 HOT 19
- Disabled GVR SDK library loading or lack of Google VR Service cause crash on sample sdk-hellovr
- Distortion correction disabled causes black screen
- Is Google Daydream dead? HOT 2
- How can I reset yaw orientation?
- A small dot appears for images in Video360 HOT 1
- Unable to gaze VideoUiView views
- Mirage solo repainting system
- There were some minor rendering problems, and the line became a little zigzag,thx
- Permissions question
- Smooth camera
- Find distortion parameters for selected Headset
- Cannot use 180 video
- gvr_compute_distorted_point does not apply chromatic aberration HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gvr-android-sdk.