Psychxr

Latest version: v0.2.2

Safety actively analyzes 621444 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

0.2.2

--------------------------

Overview:

Bugfix release.

New Features:

- None

Bug Fixes:

- Fixed `LibOVRPerfStats` setting up incorrect pointers to
`LibOVRPerfStatsPerCompositorFrame` objects.
- Fixed TOUCH_* module level constants not being exposed by __all__.

Breaking Changes:

- None

0.2.1

--------------------------

Overview:

This release adds improved haptics support, bounding boxes, visibility
culling, and more features to `LibOVRPose`. There are a few minor API
breaking changes, however in the future API changes will raise deprecation
warnings and be phased out gradually over several releases.

New Features:

- Support for haptic buffers for use with Touch controllers. A haptics
buffer contains an array of samples which specify Touch controller
vibration amplitudes. Buffers can be passed to the haptics engine for
playback, permitting custom vibration profiles.
- Added `mirrorOptions` to `createMirrorTexture` to customize how mirrors
are presented (eg. pre-distortion, rectilinear, one eye only, etc.)
- Added `getViewMatrix` to `LibOVRPose` which creates view matrices, which
transforms points into the space of the pose. This allows you to use rigid
body poses to define eye locations for rendering. You can do crazy things
like calculating eye poses using touch controller poses (make sure
head-locking is enabled!)
- Added `getAzimuthElevation` and `getAngleTo` methods to `LibOVRPose`, for
computing Euler angles of targets within the reference frame of a poses.
- Nearly all `LibOVRPose` transformation methods can write values to
pre-allocated output arrays.
- Added an optional `originPose` to `calcEyePoses`.
- Added a bounding box attribute to poses. You can create an axis-aligned
bounding box object (`LibOVRBounds`) and assign them to poses.
`LibOVRBounds` has a `fit` method to compute boundaries for a 3D model if
supplied a list of vertices.
- New `cullPose` function allows you to cull meshes associated with poses if
they are not visible during rendering by testing if their bounding boxes
fall outside of the view frustum. This reduces CPU/GPU workload when
complex drawing scenes.
- Added logging callbacks. You can register a Python function as a callback
for when LibOVR returns a message. Spits out lots of information, maybe
you'll find some of it useful?
- `endFrame` returns the absolute system time it was called.
- ASW stats are also returned with `LibOVRPerfStatsPerCompositorFrame`.

Bug Fixes:

- Fixed head-locking. Head-locking prevents compositor ASW from acting upon
the layer. This fix restores the behaviour seen in the alpha releases
of PsychXR.

Breaking Changes:

- `getTrackingState` now returns a `LibOVRTrackingState` instance. This was
changed given the previous system returned a data structure that was
not intuitive to work with. This returns to the behaviour of the 0.1
series of PsychXR and will stay this way.
- `endFrame` now returns two values.
- `resetFrameStats` is now `resetPerfStats` for naming consistency.

Known Issues:

- None

0.2.0

--------------------------

Overview:

This release bring considerable changes to PsychXR to address issues and
feedback from the initial public release (0.1.4). This version will break
compatibility with software running any previous version, see the reference
code in the demo directory for a minimal example using the new API.

One of the biggest changes is NumPy integration, which exposes vector and
matrix types as arrays instead of custom extension types. This allows you
to take advantage of the scientific software ecosystem built around NumPy
when working with data from HMDs. As a result, NumPy is now a requirement
to build PsychXR.

Several new extension types have been added, notably the LibOVRPose and
LibOVRPoseState classes which store and manipulate rigid body pose data.
There are plenty of class methods available to transform (e.g. invert) and
convert (to a 4x4 matrix) poses, apply transformations, and do things like
raypicking, interpolation, and time integration.

Lastly, documentation has been greatly improved, providing lots of examples
and details associated with each function and class.

New Features:

- Added LibOVRPose, LibOVRPoseState, LibOVRSessionStatus, LibOVRHmdInfo,
etc.
- Library now exposes vectors, quaternions, and matrices as Numpy arrays.
- LibOVR version bump to 1.37.
- Functions which call the LibOVR API return error/success codes, making it
easier to write custom error handlers.
- More arguments for 'initialize()', such as 'focusAware'.
- LibOVRPose handles rigid body pose data like 'ovr.math.Posef' did.
- Added swap chain names 'LIBOVR_TEXTURE_SWAP_CHAIN*' so you don't need to
define them yourself.
- Added 'setControllerVibration' for haptic feedback.
- Added 'getDevicePose' to get the absolute poses of tracked objects.
- Functions can copy data into existing arrays rather than creating new
ones.
- Added functions to compute viewing parameters, such as horizontal FOV and
aspect ratio.
- LibOVRPoseState objects can be time integrated.
- Controller states functions return time stamps and states in a single
call.
- Tracker/sensor information is now available.
- Many more ...

Bug Fixes:

- Cleaned up old and unused code from 'psychxr.libovr'.
- Fixed crash when shutdown is called after a texture swap chain is created.

Breaking Changes:

- Many API functions have been removed or renamed, some functions take
different arguments all together.
- Removed 'ovr.math' module, use LibOVRPose for rigid body transforms.
- Removed 'ovr.capi', import 'psychxr.libovr' instead.
- Reduced number of possible swap chains to 8 for now.
- You must now manage getting the next available swap chain index.

Known Issues:

- None so far ...

0.1.5

--------------------------

Hotfix release to fix an issue where thumbstick values are improperly clipped.

New Features:

- None

Bug Fixes:

- Updated licensing information.

Breaking:

- None

0.1.4

--------------------------

New Features:

- None

Bug Fixes:

- Updated licensing information.

Breaking:

- None

0.1.3

--------------------------

New Features:

- Added "getPitchYawRoll" method to ovrQuatf object.
- Changed "ovrSessionStatus" getter functions to properties.

Bug Fixes:

- No bug fixes this release.

Breaking:

- "ovrSessionStatus" getter functions are now properties.

Links

Releases

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.