Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env perl
- use strict;
- use warnings;
- use OpenHMD qw(:CONSTANTS);
- main();
- sub main {
- my $openhmd = OpenHMD -> new;
- my $context = $openhmd -> ohmd_ctx_create;
- my $device_count = $openhmd -> ohmd_ctx_probe ($context);
- printf "Device count: %i\n", $device_count;
- foreach my $index (0 .. $device_count - 1) {
- printf "Device #%i:\n", $index;
- printf "\tVendor: \t%s\n", $openhmd -> ohmd_list_gets ($context, $index, $OHMD_VENDOR);
- printf "\tProduct:\t%s\n", $openhmd -> ohmd_list_gets ($context, $index, $OHMD_PRODUCT);
- printf "\tPath: \t%s\n", $openhmd -> ohmd_list_gets ($context, $index, $OHMD_PATH);
- print "\n";
- }
- my $device = $openhmd -> ohmd_list_open_device ($context, 0);
- printf "Resolution:\t%i x %i\n",
- $openhmd -> ohmd_device_geti ($device, $OHMD_SCREEN_HORIZONTAL_RESOLUTION ),
- $openhmd -> ohmd_device_geti ($device, $OHMD_SCREEN_VERTICAL_RESOLUTION ),
- ;
- print "\n";
- printf "Horizontal Size: \t%f\n", $openhmd -> ohmd_device_getf ($device, $OHMD_SCREEN_HORIZONTAL_SIZE);
- printf "Vertical Size: \t%f\n", $openhmd -> ohmd_device_getf ($device, $OHMD_SCREEN_VERTICAL_SIZE);
- printf "Lens Separation: \t%f\n", $openhmd -> ohmd_device_getf ($device, $OHMD_LENS_HORIZONTAL_SEPARATION);
- printf "Lens Vertical Centre: \t%f\n", $openhmd -> ohmd_device_getf ($device, $OHMD_LENS_VERTICAL_POSITION);
- printf "Left Eye FOV: \t%f\n", $openhmd -> ohmd_device_getf ($device, $OHMD_LEFT_EYE_FOV);
- printf "Right Eye FOV: \t%f\n", $openhmd -> ohmd_device_getf ($device, $OHMD_RIGHT_EYE_FOV);
- printf "Left Eye Asepect: \t%f\n", $openhmd -> ohmd_device_getf ($device, $OHMD_LEFT_EYE_ASPECT_RATIO);
- printf "Right Eye Aspect: \t%f\n", $openhmd -> ohmd_device_getf ($device, $OHMD_RIGHT_EYE_ASPECT_RATIO);
- printf "Distortion K: \t%s\n", join (', ', ($openhmd -> ohmd_device_getf ($device, $OHMD_DISTORTION_K))[0 .. 5]);
- printf "IPD: \t%f\n", $openhmd -> ohmd_device_getf ($device, $OHMD_EYE_IPD);
- print 'Sleeping for 5 seconds..', "\n";
- sleep 5;
- foreach my $iteration (0 .. 1000) {
- $openhmd -> ohmd_ctx_update ($context);
- printf "%f %f %f %f\n", $openhmd -> ohmd_device_getf ($device, $OHMD_ROTATION_QUAT);
- select (undef, undef, undef, 0.01);
- }
- $openhmd -> ohmd_ctx_destroy ($context);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement