PolyMeilex / PolyMeilex/Neothesia

OpenXR support

Open
#382 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature-request
Dominant language
Rust
Stars
1.5k
Forks
115
Avg merge
7h 48m
Merged PRs (30d)
8

Description

Hi, Neothesia is a great project and has helped me practice piano. Thank you sincerely for the app as it is already.

Separately, I have recently been gaining an interest in creating a fairly light OpenXR ("VR") and I thought this project could be a good candidate. The goal I have in mind is to allow your application to render were the piano is in the real world. I can see three implementation that can achieve that:

  • Doing nothing, we let someone else solve this for us: This can be done (probably) by using a VR desktop like breezy, carefully place a monitor right above the keyboard and using some device that can let you see through (like AR glasses).
  • Adding some kind of --openxr option on start up to render the application via a new pipeline... Which would most simply render the game normally into a buffer and then texture a rectangle to place the game somewhere in front of the user. This approach is, in my mind, the simplest starting point. Allows to work on techniques to place the rectangle manually or smartly.
  • Full rendering pipeline rewrite: rendering a 3D scene with 3D cubes representing the keys to press, the real world piano/keyboard will need to be accurately located for this to work well. Most work to be done and not what I had in mind.

I am leaning towards exploring the first two options. I will explore your project with the second option in mind. I will not deliver anything quickly and the point of contacting you now is to align/for you to let me know what you believe is the best way to make my feature/experiment and your other development not cause issues for one an other.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by reviewing Neothesia's existing rendering architecture and the proposed --openxr startup option, then clarify whether the initial goal is desktop-buffer projection or a full 3D rewrite. Done requires an agreed scope and implementation plan; the issue does not define a completion test.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
computer-graphics, desktop
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.