@@ -198,9 +198,16 @@ typedef struct gvr_frame_ gvr_frame;
198
198
// / Generic flag type.
199
199
typedef uint32_t gvr_flags;
200
200
201
+ // / Generic 64-bit flag type.
202
+ typedef uint64_t gvr_flags64;
203
+
201
204
// / Opaque handle to a collection of properties.
202
205
typedef struct gvr_properties_ gvr_properties;
203
206
207
+ // / Represents a Daydream Controller API object, used to invoke the
208
+ // / Daydream Controller API.
209
+ typedef struct gvr_controller_context_ gvr_controller_context;
210
+
204
211
// / A generic container for various pure value types.
205
212
typedef struct gvr_value {
206
213
int32_t value_type; // gvr_value_type
@@ -211,6 +218,7 @@ typedef struct gvr_value {
211
218
int32_t i;
212
219
int64_t i64 ;
213
220
gvr_flags fl;
221
+ gvr_flags64 fl64;
214
222
gvr_sizei si;
215
223
gvr_recti ri;
216
224
gvr_rectf rf;
@@ -231,8 +239,8 @@ typedef struct gvr_value {
231
239
// / The type of a recentering associated with a GVR_EVENT_RECENTER event.
232
240
typedef enum {
233
241
// / Recentering state received from the platform upon starting or resuming the
234
- // / application. This event is usually preceded in the same frame by a
235
- // / GVR_EVENT_HEAD_TRACKING_RESUMED event.
242
+ // / application. This event is usually precedes a
243
+ // / GVR_EVENT_HEAD_TRACKING_RESUMED event in the same frame .
236
244
GVR_RECENTER_EVENT_RESTART = 1 ,
237
245
238
246
// / A recenter event triggered by the controller (e.g. long-press on Home
@@ -251,6 +259,10 @@ typedef enum {
251
259
typedef struct gvr_recenter_event_data {
252
260
int32_t recenter_type; // gvr_recenter_event_type
253
261
gvr_flags recenter_event_flags;
262
+
263
+ // / The new transform that maps from "sensor" space to the recentered "start"
264
+ // / space. This transform can also be retrieved by querying for the
265
+ // / GVR_PROPERTY_RECENTER_TRANSFORM property.
254
266
gvr_mat4f start_space_from_tracking_space_transform;
255
267
} gvr_recenter_event_data;
256
268
@@ -480,20 +492,37 @@ typedef enum {
480
492
// Virtual stereo speakers at -30 degrees and +30 degrees.
481
493
GVR_AUDIO_SURROUND_FORMAT_SURROUND_STEREO = 2 ,
482
494
483
- // 5.1 surround sound according to the ITU-R BS 775 speaker configuration
495
+ // 5.1 surround sound according to the ITU-R BS. 775-3 speaker configuration
484
496
// recommendation:
485
- // - Front left (FL ) at 30 degrees.
486
- // - Front right (FR ) at -30 degrees.
487
- // - Front center (FC ) at 0 degrees.
497
+ // - Left (L ) at 30 degrees.
498
+ // - Right (R ) at -30 degrees.
499
+ // - Center (C ) at 0 degrees.
488
500
// - Low frequency effects (LFE) at front center at 0 degrees.
489
- // - Left side (LS) at 110 degrees.
490
- // - Right side (RS) at -110 degrees.
501
+ // - Left surround (LS) at 110 degrees.
502
+ // - Right surround (RS) at -110 degrees.
491
503
//
492
- // The 5.1 channel input layout must matches AAC: FL, FR, FC , LFE, LS, RS.
504
+ // The 5.1 channel input layout must matches AAC: L, R, C , LFE, LS, RS.
493
505
// Note that this differs from the Vorbis/Opus 5.1 channel layout, which
494
- // is: FL, FC, FR , LS, RS, LFE.
506
+ // is: L, C, R , LS, RS, LFE.
495
507
GVR_AUDIO_SURROUND_FORMAT_SURROUND_FIVE_DOT_ONE = 3 ,
496
508
509
+ // 7.1 surround sound according to the ITU-R BS.775-3 speaker configuration
510
+ // recommendation:
511
+ // - Left (FL) at 30 degrees.
512
+ // - Right (FR) at -30 degrees.
513
+ // - Center (C) at 0 degrees.
514
+ // - Low frequency effects (LFE) at front center at 0 degrees.
515
+ // - Left surround 1 (LS1) at 90 degrees.
516
+ // - Right surround 1 (RS1) at -90 degrees.
517
+ // - Left surround 2 (LS2) at 150 degrees.
518
+ // - Right surround 2 (LS2) at -150 degrees.
519
+ //
520
+ // The 7.1 channel input layout must matches AAC: L, R, C, LFE, LS1, RS1,
521
+ // LS2, RS2.
522
+ // Note that this differs from the Vorbis/Opus 7.1 channel layout, which
523
+ // is: L, C, R, LS1, RS1, LS2, RS2, LFE.
524
+ GVR_AUDIO_SURROUND_FORMAT_SURROUND_SEVEN_DOT_ONE = 10 ,
525
+
497
526
// First-order ambisonics (AmbiX format: 4 channels, ACN channel ordering,
498
527
// SN3D normalization).
499
528
GVR_AUDIO_SURROUND_FORMAT_FIRST_ORDER_AMBISONICS = 4 ,
@@ -524,6 +553,8 @@ typedef enum {
524
553
// (AmbiX format: 16 channels, ACN channel ordering, SN3D normalization).
525
554
// Channel 17 to 18 contain non-diegetic stereo.
526
555
GVR_AUDIO_SURROUND_FORMAT_THIRD_ORDER_AMBISONICS_WITH_NON_DIEGETIC_STEREO = 9 ,
556
+
557
+ // Note: Next available value is: 11
527
558
} gvr_audio_surround_format_type;
528
559
529
560
// / Valid color formats for swap chain buffers.
@@ -604,7 +635,9 @@ typedef enum {
604
635
// / The current transform that maps from "sensor" space to the recentered
605
636
// / "start" space. Apps can optionally undo or extend this transform to
606
637
// / perform custom recentering logic with the returned pose, but all poses
607
- // / supplied during frame submission are assumed to be in start space.
638
+ // / supplied during frame submission are assumed to be in start space. This
639
+ // / transform matches the one reported in the most
640
+ // / recent gvr_recenter_event_data.
608
641
// / Type: gvr_mat4f
609
642
GVR_PROPERTY_RECENTER_TRANSFORM = 2 ,
610
643
@@ -632,14 +665,14 @@ typedef enum {
632
665
GVR_PROPERTY_TRACKING_STATUS = 6
633
666
} gvr_property_type;
634
667
635
- // Safety region types exposed from the GVR_PROPERTY_SAFETY_REGION property.
668
+ // / Safety region types exposed from the GVR_PROPERTY_SAFETY_REGION property.
636
669
typedef enum {
637
670
GVR_SAFETY_REGION_NONE = 0 ,
638
671
639
- // A safety region defined by a vertically-oriented cylinder, extending
640
- // infinitely along the Y axis, and centered at the start space origin.
641
- // Extents can be queried with the GVR_PROPERTY_SAFETY_CYLINDER_INNER_RADIUS
642
- // and GVR_PROPERTY_SAFETY_CYLINDER_OUTER_RADIUS property keys.
672
+ // / A safety region defined by a vertically-oriented cylinder, extending
673
+ // / infinitely along the Y axis, and centered at the start space origin.
674
+ // / Extents can be queried with the GVR_PROPERTY_SAFETY_CYLINDER_INNER_RADIUS
675
+ // / and GVR_PROPERTY_SAFETY_CYLINDER_OUTER_RADIUS property keys.
643
676
GVR_SAFETY_REGION_CYLINDER = 1 ,
644
677
} gvr_safety_region_type;
645
678
@@ -679,7 +712,7 @@ typedef enum {
679
712
680
713
// / Notification that head tracking was resumed (or started for the first
681
714
// / time). Before this event is sent, head tracking will always return the
682
- // / identity pose. This event is usually followed in the same frame by a
715
+ // / identity pose. This event is usually preceded in the same frame by a
683
716
// / GVR_EVENT_RECENTER of recenter_type GVR_RECENTER_EVENT_RESTART.
684
717
// / Event data type: none
685
718
GVR_EVENT_HEAD_TRACKING_RESUMED = 4 ,
@@ -917,6 +950,8 @@ const ArmModelBehavior kArmModelBehaviorFollowGaze =
917
950
static_cast <ArmModelBehavior>(GVR_ARM_MODEL_FOLLOW_GAZE);
918
951
const ArmModelBehavior kArmModelBehaviorSyncGaze =
919
952
static_cast <ArmModelBehavior>(GVR_ARM_MODEL_SYNC_GAZE);
953
+ const ArmModelBehavior kArmModelBehaviorIgnoreGaze =
954
+ static_cast <ArmModelBehavior>(GVR_ARM_MODEL_IGNORE_GAZE);
920
955
921
956
typedef gvr_error Error;
922
957
const Error kErrorNone = static_cast <Error>(GVR_ERROR_NONE);
0 commit comments