pmndrs / pmndrs/postprocessing
Research: XR Support
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 2.9k
- Forks
- 251
- Avg merge
- 17m
- Merged PRs (30d)
- 1
Description
Description
Related: #676 #452
This is a research ticket for gathering information on how to implement XR support in postprocessing.
The rendering workflow in v7 consists of using a RenderPipeline that uses a WebGLRenderer/WebGPURenderer to render individual passes. Three's WebXR support requires the use of WebGLRenderer.setAnimationLoop and it uses a special XR camera for the active XR session. So some parts definitely need to be changed but the actual scope of the changes needs to be specified before VR can be implemented.
Implementation Details
- TBD
Relevant sources
- https://github.com/pmndrs/postprocessing/issues/216#issuecomment-782372324
- https://github.com/mrdoob/three.js/pull/18846#issuecomment-596449837
- https://github.com/mrdoob/three.js/pull/18846#issuecomment-1566609516
- https://github.com/mrdoob/three.js/pull/26160
- https://threejs.org/docs/?q=vr#manual/en/introduction/How-to-create-VR-content
- https://threejs.org/docs/?q=xr#api/en/renderers/webxr/WebXRManager
- https://developer.mozilla.org/en-US/docs/Web/API/WebXR_Device_API/Rendering
Additional sources
- https://github.com/orgs/angular-threejs/discussions/7
- https://web.archive.org/web/20220804162612/https://twitter.com/Cody_J_Bennett/status/1482585611781480448
- https://codesandbox.io/p/sandbox/webxr-postprocessing-forked-8hzc9l?file=%2Fsrc%2Findex.js
- https://github.com/pmndrs/react-postprocessing/issues/128
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the RenderPipeline workflow and how WebGLRenderer/WebGPURenderer handle individual passes. Compare that flow with three.js setAnimationLoop, the XR camera, WebXRManager, and the linked WebXR sources. Done means documenting the concrete scope and requirements needed before XR support can be implemented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, three.js
- Domain
- ar-vr-xr, computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100