GithubHelp home page GithubHelp logo

gvr-android-sdk's People

Contributors

borismus avatar cyisrael avatar dav-cz avatar fredsa avatar nvictornvictor avatar samtstern avatar smdol avatar tjohns avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gvr-android-sdk's Issues

rendering with renderscript on CPU?

I have run this with nexus 5, lenovo K910, oppo find5 all showing up logs like:

10-28 16:14:55.042: I/MainActivity(9162): onSurfaceCreated
10-28 16:14:55.052: W/CardboardView(9162): Surface size 1920x1005 does not match the expected screen size 1920x1080. Rendering is disabled.
10-28 16:14:55.052: I/MainActivity(9162): onSurfaceChanged
10-28 16:14:55.052: I/MainActivity(9162): surfaceWidht960
10-28 16:14:55.052: I/MainActivity(9162): surfaceHeight1005
10-28 16:14:55.112: V/RenderScript(9162): Application requested CPU execution
10-28 16:14:55.112: V/RenderScript(9162): 0x7733da88 Launching thread(s), CPUs 4
10-28 16:14:55.132: E/ffi_jank(9162): timespan = 64.74047
10-28 16:14:55.182: E/ffi_jank(9162): timespan = 32.909218
10-28 16:14:55.212: I/MainActivity(9162): onSurfaceChanged
10-28 16:14:55.212: I/MainActivity(9162): surfaceWidht960
10-28 16:14:55.212: I/MainActivity(9162): surfaceHeight1080

surface size and the screen size is never matched. And is this means the whole thing is rendered in CPU with renderscript?

Any idea about this?

Cardboard SDK only supports armeabi-v7a

Since Android v0.5.5 core functionalities of the SDK are now implemented in C++.

The cardboard.jar only contains armeabi-v7a binaries.

Are there any plans to support v8 (nexus 5x, 6p) and other platforms? (Such as x86?)

Also, would suggest if you opened up this (relatively simple) SDK to the community, you'd see a lot of positive contributions.

Build failed with an exception

The Studio asks me to sync the Gradle project, but fails every time. Here is the error.

Error:FAILURE: Build failed with an exception.

  • What went wrong:
    Task '' not found in root project 'cardboard-master'.
  • Try:
    Run gradle tasks to get a list of available tasks. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

I copied the treasure hunto project to understand it better, but I can't even run simulation on it.

No Action_down in ontouchevent

I've updated to the latest version, but I'm not getting the ACTION_DOWN event anymore in the onTouchEvent.

Anyboday else notice this? Is there a way to get it?

Maik

updateCardboardDeviceParams/updateScreenParams

The documentation says that calling updateCardboardDeviceParams and updateScreenParams will be reflected in the next new frame, but this doesn't seem to happen. I have only been able to get these methods to do anything by calling them in onCreate before the GL surface is created.

"Updates the screen parameters of the device inserted in the Cardboard. Changes will be effective from the first frame after this call."

releasing further examples

It would be very useful if you would consider releasing further code samples. Specifically for exhibit.

Auto detect when SDK not able to run on a device

Hi,

I've written an app to play a bit with the Cardboard SDK, and I've tried to get it to run on the devices I have at hand.
One of them is a samsung galaxy tab running Android 4.1.2 (fingerprint: samsung/espresso10wifixx/espresso10wifi:4.1.2/JZO54K/P5110XXDMC2:user/release-keys), advertising gles 2.0 with the following version / extensions:
GL_VENDOR: Imagination Technologies
GL_RENDERER: PowerVR SGX 540
GL_VERSION: OpenGL ES 2.0 build 1.9.RC2@2139099
GL_EXTENSIONS: GL_EXT_debug_marker
GL_OES_rgb8_rgba8
GL_OES_depth24
GL_OES_vertex_half_float
GL_OES_texture_float
GL_OES_texture_half_float
GL_OES_element_index_uint
GL_OES_mapbuffer
GL_OES_fragment_precision_high
GL_OES_compressed_ETC1_RGB8_texture
GL_OES_EGL_image
GL_OES_EGL_image_external
GL_OES_required_internalformat
GL_OES_depth_texture
GL_OES_get_program_binary
GL_OES_packed_depth_stencil
GL_OES_standard_derivatives
GL_OES_vertex_array_object
GL_OES_egl_sync
GL_EXT_multi_draw_arrays
GL_EXT_texture_format_BGRA8888
GL_EXT_discard_framebuffer
GL_EXT_shader_texture_lod
GL_IMG_shader_binary
GL_IMG_texture_compression_pvrtc
GL_IMG_texture_npot
GL_IMG_texture_format_BGRA8888
GL_IMG_read_format
GL_IMG_program_binary
GL_IMG_uniform_buffer_object
GL_IMG_multisampled_render_to_texture

I have the following traces output in logcat:
D/CardboardViewNativeImpl: Native library loaded
I/dalvikvm: Could not find method android.opengl.EGL14.eglSwapInterval, referenced from method com.google.vrtoolkit.cardboard.CardboardViewNativeImpl$RendererHelper.onDrawFrame
W/dalvikvm: VFY: unable to resolve static method 1027: Landroid/opengl/EGL14;.eglSwapInterval (Landroid/opengl/EGLDisplay;I)Z
D/dalvikvm: VFY: replacing opcode 0x71 at 0x0053

Same thing for eglGetCurrentSurface.

Are there plans to detect automatically issues like this? If already done, how can an SDK user can be informed, in order to provide some feedback to their own users?

Thanks,
Ben

Issues with 0.5.4 and Note 3

Hi, this is a rather bad bug report I'm afraid, but as no one else has reported it I figured it's better than nothing.

I recently upgraded my app VRTV (https://play.google.com/store/apps/details?id=se.chai.vrtv.free) to 0.5.4 and got a report from a user that it stopped working on his Galaxy Note 3. It did not detect head movement at all. I don't have one to test on myself unfortunately, but after browsing the Play Store and reading reviews for other apps that had moved to 0.5.4, including the official Cardboard App, I decided to downgrade back to 0.5.3. Lots of one star reviews stating that things stopped working.

I imagine Note 3 is a pretty common device among Cardboard users, so I assume Google has tested the SDK before releasing? My app doesn't use the SDK in any strange way that I'm aware of, it's based on the sample and pretty much just throws a different set of triangles on the screen.

v0.5.7 missing com.google.vr.cardboard.Strings

When tapping the provided configure-button inside a cardboard activity, an exception is thrown, saying that com.google.vr.cardboard.Strings wasn't found:

E/AndroidRuntime: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/vr/cardboard/Strings;
E/AndroidRuntime:     at com.google.vr.cardboard.UiUtils$ConfigureSettingsDialogFragment.onCreateDialog(UiUtils.java:160)
E/AndroidRuntime:     at android.app.DialogFragment.getLayoutInflater(DialogFragment.java:398)
E/AndroidRuntime:     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:973)
E/AndroidRuntime:     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1148)
E/AndroidRuntime:     at android.app.BackStackRecord.run(BackStackRecord.java:793)
E/AndroidRuntime:     at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1535)
E/AndroidRuntime:     at android.app.FragmentManagerImpl$1.run(FragmentManager.java:482)
E/AndroidRuntime:     at android.os.Handler.handleCallback(Handler.java:739)
E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:148)
E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5417)
E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
E/AndroidRuntime:  Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.vr.cardboard.Strings" on path: DexPathList[[zip file "/data/app/at.robhor.cardboard-1/base.apk"],nativeLibraryDirectories=[/data/app/at.robhor.cardboard-1/lib/arm, /data/app/at.robhor.cardboard-1/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]
E/AndroidRuntime:     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
E/AndroidRuntime:     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
E/AndroidRuntime:     at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
E/AndroidRuntime:     at com.google.vr.cardboard.UiUtils$ConfigureSettingsDialogFragment.onCreateDialog(UiUtils.java:160) 
E/AndroidRuntime:     at android.app.DialogFragment.getLayoutInflater(DialogFragment.java:398) 
E/AndroidRuntime:     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:973) 
E/AndroidRuntime:     at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1148) 
E/AndroidRuntime:     at android.app.BackStackRecord.run(BackStackRecord.java:793) 
E/AndroidRuntime:     at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1535) 
E/AndroidRuntime:     at android.app.FragmentManagerImpl$1.run(FragmentManager.java:482) 
E/AndroidRuntime:     at android.os.Handler.handleCallback(Handler.java:739) 
E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:95) 
E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:148) 
E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5417) 
E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method) 
E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
E/AndroidRuntime:   Suppressed: java.lang.ClassNotFoundException: com.google.vr.cardboard.Strings
E/AndroidRuntime:     at java.lang.Class.classForName(Native Method)
E/AndroidRuntime:     at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
E/AndroidRuntime:     at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
E/AndroidRuntime:     at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
E/AndroidRuntime:           ... 15 more
E/AndroidRuntime:  Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

HeadTracker Drift

We've noticed a significant amount of drift in the head pose returned from HeadTracker.getLastHeadView() on both the Samsung Note4 and S6. The drift is on the order of 5 degrees per second or more.

My guess is that the magnetometer is probably the culprit as it can be easily affected by external magnetic fields, and in my own experience with sensor fusion is the least reliable relative to the gyroscope and accelerometer.

HeadTracker.setGyroBiasEstimationEnabled() is about the only method that seems relevant, but I don't notice much of a difference whether it's on or off.

If there was a way to disable the magnetometer, that would be useful.

If anyone has other thoughts about the best way to address the drift problem with the existing HeadTracker I would love to hear your thoughts.

eye.getEyeView() and eye.getEyePerspective() return NaN matrices

Hello! In my app, at first launch, everything seems to be fine. After getting back to the main menu, and starting a new game (with every object recreated, every static field reinitialized), only 2D objects are rendered. I looked into it, and it seems that in the onDrawEye method, the given view and perspective matrices are NaN. Is there something i forgot to reset, or is this a bug in the api?

EDIT: It was my mistake. I forgot to call super.onPause() in my CardboardView extending class...

error in Android Studio: Rendering Problems, com.google.vrtoolkit.cardboard.CardboardView could not be instantiated

Hi,

I'm getting an error when trying to use this github project in Android Studio.
When I open the preview of common_ui.xml the following error is shown:

Rendering Problems The following classes could not be instantiated:
- com.google.vrtoolkit.cardboard.CardboardView (Open Class, Show Exception, Clear Cache)
Tip: Use View.isInEditMode() in your custom views to skip code or show sample data when shown in the IDE Exception Details java.lang.NullPointerException   at android.os.storage.StorageManager.getVolumeList(StorageManager.java:872)   at android.os.Environment$UserEnvironment.getExternalDirs(Environment.java:83)   at android.os.Environment.getExternalStorageDirectory(Environment.java:337)   at com.google.vrtoolkit.cardboard.ConfigUtils.getConfigFile(ConfigUtils.java:52)   at com.google.vrtoolkit.cardboard.HeadMountedDisplayManager.createScreenParamsFromExternalStorage(HeadMountedDisplayManager.java:271)   at com.google.vrtoolkit.cardboard.HeadMountedDisplayManager.createScreenParams(HeadMountedDisplayManager.java:188)   at com.google.vrtoolkit.cardboard.HeadMountedDisplayManager.(HeadMountedDisplayManager.java:54)   at com.google.vrtoolkit.cardboard.CardboardViewNativeImpl.(CardboardViewNativeImpl.java:96)   at com.google.vrtoolkit.cardboard.ImplementationSelector.createCardboardViewApi(ImplementationSelector.java:35)   at com.google.vrtoolkit.cardboard.CardboardView.init(CardboardView.java:930)   at com.google.vrtoolkit.cardboard.CardboardView.(CardboardView.java:243)   at java.lang.reflect.Constructor.newInstance(Constructor.java:423)   at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)   at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:835)   at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)   at android.view.LayoutInflater.rInflate(LayoutInflater.java:811)   at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:798)   at android.view.LayoutInflater.inflate(LayoutInflater.java:515)   at android.view.LayoutInflater.inflate(LayoutInflater.java:394) Copy stack to clipboard The graphics preview in the layout editor may not be accurate:
- Paint.setShadowLayer is not supported. (Ignore for this session)
Ignore all fidelity warnings for this session

The cardboard.jar and audio.jar exists in the libs folder of the project. The build.gradle script includes all jar files of the libs folder. I can open the class com.google.vrtoolkit.cardboard.CardboardView.
That's why I don't understand the reason for this error.

Another problem: when I'm running the app on an emulator I can see the message "Pull the magnet when you find an object." for a short time. Then the app breaks. In logcat I see the following message:

2-07 20:37:50.814 2032-2032/? I/Choreographer: Skipped 115 frames! The application may be doing too much work on its main thread.
02-07 20:37:50.902 2032-2073/? A/libc: Fatal signal 11 (SIGSEGV), code 2, fault addr 0x73522000 in tid 2073 (GLThread 148)
02-07 20:37:50.980 2032-2039/? W/art: Suspending all threads took: 6.526ms

I'm not sure if these two problems have something in common. If not I can create a separate ticket.

Thank's in advance,
Chris

Crashing on draw

Hi,
I'm using a Galaxy S3 i9300 and have tested both stock 4.3 and cynogenmod 4.4.4 on the same device and I get the same error on both when trying to render a 3d object on screen.
glUseProgram: glError 1280
FATAL EXCEPTION: GLThread 908

Also when using the cardboard demo app, Windy Day crashes with the following log cat:
com.google.samples.apps.cardboarddemo E/AndroidRuntime﹕
FATAL EXCEPTION: GLThread 501
Process: com.google.samples.apps.cardboarddemo, PID: 10070
java.lang.RuntimeException: MoxieCommon-a No configs match configSpec
at com.motorola.moxie.common.a.a.chooseConfig(Unknown Source)
at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:1026)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1403)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1242)

Both the cardboard demo app and my app work OK on HTC one, LG G2 mini, Nexus 5.

Is there anything that can be done?

Perspectives Flipped

I'm not sure if this was intentional, but it looks as though the eyes are flipped around. The views for each one seem to be off, and when using the application, I have to go cross-eyed to view it properly. While this may be a problem with the IPD as well, I'm noticing that the right eye sees more on the left side then the left eye (in a personal app, and the normal Cardboard demo app on the Play Store).

Magnet sensor leaks activity context

According to this decompiled Cardboard SDK source, OnCardboardTriggerListener is never properly released. CardboardActivity registers as a listener however it does not remove itself onPause or onDestroy causing its context leak. Any ideas how to fix this?

GPL v2/3 compatibility question

There is an open source game engine based on Quake GPL source that wouldn't mind getting Google Cardboard SDK integrated.

The developer raised concerns that SDK may not be GPL compatible.

Could someone from Google clarify license stance and if SDK is compatible with GPL v2 or v3 ?

Thanks.

Expose primary button type in CardboardDeviceParams

You can generate a cardboard device profile at https://www.google.com/intl/de_ALL/get/cardboard/viewerprofilegenerator/, specifying the "Primary button type" as none, magnet, touch or indirect touch. CardboardDeviceParams#getHasMagnet() provides a way to differentiate between a magnet trigger or any other input method. There is however no way to distinguish between cardboard devices with no trigger, with touch trigger or with indirect touch trigger.

This function could be useful to provide different user interfaces for different device capabilities.

Disabling DistortionCorrection causes errors in 0.5.2

Hello!

There seems to be an issue introduced in api version 0.5.2 (it did not occur in 0.5.1)

TreasureHunt runs all fine, however when i add this line: cardboardView.setDistortionCorrectionEnabled(false); into the Activity's onCreate() method, the screen becomes messed up.

I noticed this first in my app which offers an option to disable distortion correction (to improve performance). Can someone confirm this error? My phone is a galaxy note 3 (adreno330)

edit: i tried on a note2 (mali400mp4) and the same error occurs there as well.
edit2: i tried on a zte blade 3 (adreno200+) and the same error occurs there as well.

Edit:
This is solved in 0.5.3, so i closed the issue!

Everything rendered sideways on some tablets

For devices that have a default landscape orientation (including the Project Tango Tablet and ASUS Transformer) this app renders a sideways world.
This does not affect tablets like the Nexus 7 which have a default orientation of portrait.

This problem looks likely to be caused by the fact that in default portrait devices (like phones) the sensor's y axis points along the long axis of the screen and on default landscape devices it points along the short axis of the screen. This is (not very clearly) described here: http://developer.android.com/guide/topics/sensors/sensors_overview.html#sensors-coords Espesially: "your application must not assume that a device's natural (default) orientation is portrait. The natural orientation for many tablet devices is landscape. And the sensor coordinate system is always based on the natural orientation of a device."

Hold a phone upright in landscape and the accelerometer reads X: (+/-)9.81 Y: 0 Z: 0 (ms^-2)
But a "default landscape" tablet held upright in landscape will read: X: 0 Y: 9.81 Z: 0 (ms^-2)

These screen shots where taken while holding the device upright in the landscape orientation:
Tango Tab:
tango-cardboard
ASUS Transformer:
cardboardss

Please note that my ability to get a screen shot of this on a Tango Tablet does not mean I have found a workaround for issue #40 (Cardboard apps crash on the Tango Tablet)

Cardboard Sample has stopped on start

I am not sure what I am doing wrong.
I have got this source and tried to run it.
It keeps giving me an error that "Unfortunately, Cardboard Sample has stopped"
Any suggestion?

or could it be possible to find easier to run some sample code?

v0.5.6 SDK memory leak

MainActivity is leaked, even in sample app same happens. From memory dump I see that leak GC root is Native Stack.

crash on start

ok i check out my code and i have it correct i had a gradel issue
so i changed compile 'com.android.support:support-v4:+' to compile 'com.android.support:support-v4:20.0.+' it worked the file built and pushed to my phone but then the app crashed hear is my logcat https://gist.github.com/anonymous/40bbd4cfdaa15d934549 hopefully i can git this fixed i have a awesome idea for Google cardboard but i need to learn how it all works :) first

Cardboard ignoring current_device_params

On some of my devices cardboard is ignoring the values from current_device_params. My ADB log reads: Successfully read device params from external storage. But if I get the active CardboardDeviceParams with CardboardView.getCardboardDeviceParams() I get all default options seen below

D/TAG (14795): Unmodified Screen params: {
D/TAG (14795): width: 1920,
D/TAG (14795): height: 1080,
D/TAG (14795): x_meters_per_pixel: 7.9375E-5,
D/TAG (14795): y_meters_per_pixel: 7.9375E-5,
D/TAG (14795): border_size_meters: 0.003,
D/TAG (14795): }
D/TAG (14795): Unmodified Device params: {
D/TAG (14795): vendor: Google, Inc.,
D/TAG (14795): model: Cardboard v1,
D/TAG (14795): inter_lens_distance: 0.06,
D/TAG (14795): vertical_alignment: BOTTOM,
D/TAG (14795): vertical_distance_to_lens_center: 0.035,
D/TAG (14795): screen_to_lens_distance: 0.042,
D/TAG (14795): left_eye_max_fov: {
D/TAG (14795): left: 40.0,
D/TAG (14795): right: 40.0,
D/TAG (14795): bottom: 40.0,
D/TAG (14795): top: 40.0,
D/TAG (14795): },
D/TAG (14795): distortion: {
D/TAG (14795): coefficients: [0.441, 0.156],
D/TAG (14795): },
D/TAG (14795): magnet: true,
D/TAG (14795): }

On the devices where this is working:
D/TAG ( 6249): Unmodified Screen params: {
D/TAG ( 6249): width: 1920,
D/TAG ( 6249): height: 1200,
D/TAG ( 6249): x_meters_per_pixel: 8.9122805E-5,
D/TAG ( 6249): y_meters_per_pixel: 8.943662E-5,
D/TAG ( 6249): border_size_meters: 0.003,
D/TAG ( 6249): }
D/TAG ( 6249): Unmodified Device params: {
D/TAG ( 6249): vendor: Custom Vendor,
D/TAG ( 6249): model: Custom Model,
D/TAG ( 6249): inter_lens_distance: 0.06,
D/TAG ( 6249): vertical_alignment: BOTTOM,
D/TAG ( 6249): vertical_distance_to_lens_center: 0.043,
D/TAG ( 6249): screen_to_lens_distance: 0.04,
D/TAG ( 6249): left_eye_max_fov: {
D/TAG ( 6249): left: 120.0,
D/TAG ( 6249): right: 120.0,
D/TAG ( 6249): bottom: 120.0,
D/TAG ( 6249): top: 120.0,
D/TAG ( 6249): },
D/TAG ( 6249): distortion: {
D/TAG ( 6249): coefficients: [0.19, 0.19],
D/TAG ( 6249): },
D/TAG ( 6249): magnet: false,
D/TAG ( 6249): }

Big parallax with left and right eyes

When I use cardboard on a device which has a big screen, 5.5 inch.
And it's resolution is 2560*1440,dpi=640.
The question is that the parallax is too big, so that I can see two non overlapping images through a VR device.
So, what should I to to fix it?

Thanks.

0.5.7 and 0.5.8

Sinds these last 2 version, I'm getting black screen and no error. Everything as fine in 0.5.6.

showing video and images. Anybody running into this?

Thanks

GL_REPEAT does not work

Not sure why but GL_REPEAT does not work for textures(even if size power of two) in onDrawEye, even on sample app. When rendering looks like it is simply GL_REPEATE is ignored and GL_CLAMP_TO_EDGE is used.

After more investigation I have tracked where the problem is looks like somehow textures get mixed up - if I use GLES20.glActiveTexture(GLES20.GL_TEXTURE2) then everything is ok, but if I use GLES20.glActiveTexture(GLES20.GL_TEXTURE0) or GLES20.glActiveTexture(GLES20.GL_TEXTURE1) then GL_REPEAT does not work - looks that somehow cardboard sdk uses texture0 and texture1

Functionality to allow running on Gear VR out of the box ?

Is there any (legal) way Google could add a functionality that would allow Google Cardboard app(s) to run on Gear VR out of the box ?

I've heard that it's already possible, but involves some kind of package disabler app and some hackery. It's not consumer friendly way, so it seems that native solution would be a way to go.

Distortion enabled drops frames

I know this is a known issue, but the distortion is creating a lot of lag.
Is there anything or any tips to improve?

Thanks

HeadTransform.getForwardVector question

I'm trying to use the HeadTransform.getForwardVector() method to get the camera view direction, but the returned value seems to be off. When i rotate my phone on the screen's plane (roll) in a full circle, the z value (3rd item in the returned array) is changing from -1 to 1, and back to -1, even though the camera direction stays the same (i'm looking at the same object during rotating).

The vector itself matches the actual viewing direction at some yaws, but at others it does not, and is completely off.

phone type: galaxy note 3

Extending Cardboard view for viewing spherical panoramic images

Hi All,
What im trying to implement is something like google street view application for cardboard.
Can anyone help me out,how to extend cardboard view(Split View) for viewing spherical panoramic images captured via google camera.
Right now im trying to add panoramic view (to the renderer )rather then an image view,but nothing is getting diplayed.
I dont know how to pass the panorama image as a parameter to this.
Approach 2nd which i used--
I tried using PanoramaGl for doing the same,im facing issues because PLView is itself an activity,so cant use it for splitting the view.So I can only have a single view.

Can you help me out how to duplicate the panoramic view using cardboard.
@borismus Please help me out.

Samsung Galaxy S6, vibrate produces extra bogus sensor clicks

I tested the latest git as of today on different telephones.
The Samsung Galaxy S6 gets two or three calls of onCardboardTrigger.
I think this is due to the vibrator being too strong and that affecting the magnetic sensor.

I fixed it by commenting the
vibrator.vibrate(50);
line which ends the method.

If more people find the issue on different phones, the line should be commented out globally, or at least some comment added to the source code.

Feature request: Disable head tracking

A lot of my users are experiencing problems with head tracking in later SDK:s, the big shift being between version 0.5.3 and 0.5.4.

I would like to experiment with providing my own head tracking, but the SDK doesn't make it very easy. I currently just ignore the headtransform and provide my own, but it's still being calculated in the background, wasting precious cycles.

Any chance we could get a call to disable head tracking completely? Or better yet, allow us to hook our own HeadTracker implementation into the SDK.

VR splitscreen is very small on some phone

So I've tested the SDk on a bunch of phones now, and the VRmode adjust accordenly to the resolution.
So on large screens you will see more black than on others. Makes sens. Cause it will fit the cardboard.

But on for example an Vivo x510t, the VRmode show a very small splitscreen. And a lot of black space.
Doesn't make any sense.

Specs:

  • 1920 / 1080.

Could somebody tell me why it's so small? I think this is a bug related hardware?
BTW when its not in VRmode, its using all of the space, and show exactly what is expected.

Missing 64-bit ARM binary in cardboard.jar?

On 64-bit ARM phones (specifically Mi 4i (ferrari)), cardboard activity crashes with

Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/<app>/base.apk"],nativeLibraryDirectories=[/data/app/<app>/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libvrtoolkit.so"
    at java.lang.Runtime.loadLibrary(Runtime.java:366)
    at java.lang.System.loadLibrary(System.java:989)
    at com.google.vrtoolkit.cardboard.CardboardViewNativeImpl.<init>(CardboardViewNativeImpl.java:88)
    at com.google.vrtoolkit.cardboard.ImplementationSelector.createCardboardViewApi(ImplementationSelector.java:35)
    at com.google.vrtoolkit.cardboard.CardboardView.init(CardboardView.java:881)
    at com.google.vrtoolkit.cardboard.CardboardView.<init>(CardboardView.java:241)

I also found a post on Stack Overflow indicating the same issue with Intel processors:

http://stackoverflow.com/questions/32727395/cardboard-library-doesnt-load-on-intel-based-devices

cannot read classes from cardboard.jar

Hello,

I downloaded the demo, and put cardboard.jar inside the "libs" folder of the project and built it. But somehow it cannot read the CardBoardActivity classes from the library. I've tried everything like building path and organizing external jar files. But none of them work.

Thanks.

Correct headtracking jitter with slerp.

Headtracking directly from the sensor quaternion is too sensitive (jitter - but still not as bad as Unity!).
Using spherical linear interpolation significantly improves the subjective experience of headtracking. Pretty sure Oculus does this.

I have improved the design using an older github cardboard sdk source project,
https://github.com/Zomega/Cardboard
by integrating quaternions and spherical linear interpolation (slerp).

Default headtracking currently returns a rotational matrix directly from sensors.

Could this please be incorporated into the headtracker class?

glClearColor doesnt works

glClearColor in onSurfaceCreated callbacks seems to have no effect (maybe overriter by Cardboard SDK)

putting it in the beginning of onNewFrame() works

Please open source the cardboard code

Hi,
this is really a great project. But please open source the code, that's in the cardboard sdk jar.
You can decompile the Java Byte Code easily anyway, so why not open source it?

We're currently trying to rebuild the lens distortion shader with ThreeJS.
Therefore the real source code would really help.

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.