AllenCell / AllenCell/vole-core

Render to pick buffer in main mesh pass

Ouverte
#404 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Tech Debt
Langage dominant
TypeScript
Étoiles
106
Forks
11
Merge moyen
3 j 51 min
PR mergées (30 j)
12

Description

## Use Case

As of #402, PickVolume now is responsible for drawing all meshes to the pick buffer in addition to the volume. This gives it too many responsibilities, and requires us to redo the raymarch step on every render even if the pick volume hasn't changed.

A cleaner approach would be to separate the pick buffer out of PickVolume. Instead, the pick buffer should be attached to the main renderer, so other render passes can optionally write to it. Meshes should be able to write to it and the color buffer at once.

## Solution

- [ ] Externalize the pick buffer out of `PickVolume` and into `ThreeJsPanel`.
- [ ] `ThreeJsPanel` should make the pick buffer accessible to external callers, or provide a `hitTest` function.
- [ ] The pick buffer should be attached to the main renderer, with clear documentation noting its usage.
- [ ] Remove the requirement for `AnimateFunction` to have a reference to the scene (but pass in the pick buffer instead).
- [ ] Update `Spheres3d` to write directly to the pick buffer during the color pass.

## Alternatives

_Please describe any alternatives you've considered, even if you've dismissed them_

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.