![]() |
![]() |
![]() |
![]() |
#define | GXR_DEVICE_INDEX_MAX |
#define | GXR_TYPE_CONTEXT |
struct | GxrContextClass |
enum | GxrEye |
enum | GxrStateChange |
GxrContext |
GxrContext * gxr_context_new_from_vulkan_extensions (GSList *instance_ext_list
,GSList *device_ext_list
,char *app_name
,uint32_t app_version
);
gboolean gxr_context_get_head_pose (GxrContext *self
,graphene_matrix_t *pose
);
void gxr_context_get_frustum_angles (GxrContext *self
,GxrEye eye
,float *left
,float *right
,float *top
,float *bottom
);
gboolean gxr_context_init_framebuffers (GxrContext *self
,VkExtent2D extent
,VkSampleCountFlagBits sample_count
,GulkanRenderPass **render_pass
);
void gxr_context_get_projection (GxrContext *self
,GxrEye eye
,float near
,float far
,graphene_matrix_t *mat
);
void gxr_context_get_view (GxrContext *self
,GxrEye eye
,graphene_matrix_t *mat
);
void gxr_context_get_eye_position (GxrContext *self
,GxrEye eye
,graphene_vec3_t *v
);
gboolean gxr_context_get_runtime_instance_extensions (GxrContext *self
,GSList **out_list
);
gboolean gxr_context_get_runtime_device_extensions (GxrContext *self
,GSList **out_list
);
GxrDeviceManager *
gxr_context_get_device_manager (GxrContext *self
);
GulkanFrameBuffer *
gxr_context_get_acquired_framebuffer (GxrContext *self
);
GulkanFrameBuffer * gxr_context_get_framebuffer_at (GxrContext *self
,uint32_t i
);
VkExtent2D gxr_context_get_swapchain_extent (GxrContext *self
,uint32_t view_index
);
gboolean gxr_context_attach_action_sets (GxrContext *self
,GxrActionSet **sets
,uint32_t count
);
Ready to call gxr_context_begin_frame / gxr_context_end_frame. |
||
Not ready to call gxr_context_begin_frame / gxr_context_end_frame. |
||
The frame content will be shown in XR. |
||
The frame content will not be visible, expensive rendering work can be skipped, but gxr_context_begin_frame / gxr_context_end_frame should be called. |
||
XR Runtime is shutting down. |
“overlay-event”
signalvoid user_function (GxrContext *gxrcontext, gpointer arg1, gpointer user_data)
Flags: Run Last
“state-change-event”
signalvoid user_function (GxrContext *gxrcontext, gpointer arg1, gpointer user_data)
Flags: Run Last