AllenCell / AllenCell/vole-core

Render to pick buffer in main mesh pass

Offen
#404 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Tech Debt
Vorherrschende Sprache
TypeScript
Sterne
106
Forks
11
Ø Merge
3 T. 51 Min.
Gemergte PRs (30 T.)
12

Beschreibung

## 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_

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.