47 Commits
Author SHA1 Message Date
daveyandCraig 0e3ced6f65 vr: follow the headset through GET_VIDEO_VIEWS_STATUS
A core learns about a headset only from the HMD status bit;
SET_VIDEO_VIEWS returning true means the map was accepted. The scene
walker now enters VR on the first frame with HMD, sends a TRACKED map
at the frontend's recommended eye size and goes flat with an empty map.

A video reinit restarts the headset session, and entering or leaving VR
changes the geometry, which reinits video. A lost headset is waited for
five seconds, repeating the last frame, before the core goes flat.
Input is still polled on those frames.

While VR is tracking, the map is sent every retro_run(), as libretro.h
asks: it covers state loads and run-ahead. The frontend writes the
recommended eye size back on each call, so a new size there is taken as
a resize, and the AV info is sent once for it. A frontend that reports
a headset but refuses the tracked map is not asked again until the
headset drops or the VR option is turned off.

Co-authored-by: Craig <[email protected]>
2026-10-12 05:25:22 -07:00
Craig Carnell b3aee0fe6e Add vulkan renderer 2026-10-06 09:12:16 +01:00
Craig Carnell 4ff056478c Add VR support to Android 2026-10-06 09:08:15 +01:00
twinaphex 18e98fb635 Use vec3_t inside instancingviewer 2017-04-22 22:55:15 +02:00
twinaphex 77fff07eb9 Cleanup 2016-06-27 09:03:55 +02:00
twinaphex 096898054e Cleanups 2016-06-27 04:48:10 +02:00
twinaphex 8d86107d7e Cleanups 2016-06-27 04:44:11 +02:00
twinaphex 6918c9e36c Start using libretro-common/glsym 2016-06-27 04:08:42 +02:00
twinaphex 062cffac4b Cleanups 2016-06-27 03:33:25 +02:00
Twinaphex bf67b08e6f Revert "Replace RPNG with stb_image" 2015-05-03 06:41:59 +02:00
mudlord 020beff320 egad! 2015-04-16 19:24:05 +10:00
mudlord dcbcbcebdf dang 2015-04-16 19:20:15 +10:00
mudlord 7b67c6234f fixed missing include 2015-04-16 19:17:34 +10:00
mudlord be715d66c7 fixed errors reported by Alcaro 2015-04-16 19:13:04 +10:00
twinaphex 56f54eb5e9 (QNX) Fix build 2014-07-31 06:08:57 +02:00
twinaphex 74fe44d725 (JPEG) Refactor - use pjpeg_load_from_file 2014-01-26 20:12:26 +01:00
twinaphex 64d58cb3b7 (Instancingviewer) Add JPEG loading - wrong pitch right now and grayscale 2014-01-26 19:00:31 +01:00
twinaphex a028438e11 (Instancingviewer) Make log error messages for texture loading more explicit 2014-01-25 02:59:20 +01:00
twinaphex f108577477 (Instancingviewer) Supports tga images now 2014-01-25 02:56:59 +01:00
twinaphex e86aa3c410 Update libretro header 2014-01-21 02:38:40 +01:00
Toad King bf4ce0e525 skybox for image/camera viewer
doesn't actually scroll like a real skybox, can be changed later
2014-01-20 14:26:13 -05:00
twinaphex 1ce7b985d9 Update sensor reading 2014-01-20 14:59:39 +01:00
twinaphex 8e2cad9185 Get sensor interface 2014-01-20 12:35:46 +01:00
twinaphex 4b9c742adf Replace instances of InstancingViewer with libretro 3Dengine in
copyright headers
2014-01-20 11:28:08 +01:00
twinaphex a140f237f0 Update copyright header 2014-01-20 11:22:43 +01:00
twinaphex 43461b7ee8 Sensor enable core option 2014-01-20 10:26:49 +01:00
twinaphex afff7610aa Add sensor interface 2014-01-20 10:17:11 +01:00
twinaphex 99ca157ab9 (Instancingviewer) When camera is disabled, will display PNG picture
again
2014-01-17 00:25:33 +01:00
twinaphex f39feb90a7 Add location camera control to modelviewer as well 2014-01-13 16:33:41 +01:00
twinaphex 8f03ad7e43 Add VERY rudimentary controlling of camera by location updates
(works now only with longitude - just a very shoddy 'it works' test)
2014-01-13 11:48:48 +01:00
twinaphex 110c6b5b34 Split up collision detection code into separate file 2014-01-13 11:30:54 +01:00
twinaphex ad5dfe5b9e Turn Twiddle factor into macro 2014-01-13 11:06:51 +01:00
twinaphex b670028eb4 (NDK) Build fix 2014-01-13 02:09:18 +01:00
twinaphex b70d070098 (Modelviewer) Implement discard hack (for fixing Lightning model - maybe
others as well)
2014-01-13 02:03:46 +01:00
twinaphex c8280d16f9 (Instancingviewer) Ambient light/lighting position can now be manipulated
too with instancingviewer program
2014-01-12 23:25:29 +01:00
twinaphex f3ea976dba By press and holding Start and R2/L2/R3, can now add to lighting
position. Press and holding Start+Select and R2/L2/R3 will decrease
2014-01-12 22:51:22 +01:00
twinaphex 2ca3bf1e3a Add way to manipulate ambient lighting with Modelviewer - by
pressing L2/R2 and/or R3. Press and hold Select together with
these buttons to subtract instead of addition
2014-01-12 22:16:04 +01:00
twinaphex c06acd5c16 Right analog stick now working in instancingviewer 2014-01-12 21:54:18 +01:00
twinaphex f7f7095cbc Set default lighting fix for Scenewalker 2014-01-12 21:30:57 +01:00
twinaphex 8ffee69600 - Loading a '.mtl' file will now load the SceneWalker (embedded
in program/modelviewer.cpp)
- Lighting fixed in ModelViewer - changed LightDir to LightPos
2014-01-12 20:40:27 +01:00
twinaphex ee2b2eb8ef context reset is now implemented by program engine too 2014-01-12 18:42:38 +01:00
twinaphex 08ec51243e engine programs now go through function pointer so we can switch
between programs on the fly
2014-01-12 18:17:50 +01:00
twinaphex 0148f13aef Turned modelviewer into separate program too - missing lighting
right now though - not sure why
2014-01-12 17:52:39 +01:00
twinaphex 1d3d2ef4a2 Split up even more code into program/instancingviewer.cpp 2014-01-12 17:01:15 +01:00
twinaphex 41c3adb666 bool update variable no longer extern - program implementation
bound now
2014-01-12 16:29:30 +01:00
twinaphex a1133cc11e add program_load_game function 2014-01-12 16:27:19 +01:00
twinaphex 81f63e2940 Split up all instancingviewer code into separate file 2014-01-12 16:20:18 +01:00