allen-cell-animated / volume-viewer

https://allen-cell-animated.github.io/volume-viewer/
Other
90 stars 7 forks source link

Custom rendering for XY mode #113

Closed ShrimpCryptid closed 1 year ago

ShrimpCryptid commented 1 year ago

Use Case

Basic, first-pass implementation of XY mode shader.

Solution

toloudis commented 1 year ago

Notes:

Create a new class similar to RayMarchedAtlasVolume.ts. Instead of creating a BoxGeometry it should create a PlaneGeometry, and instead of loading shader source code from "./constants/volumeRayMarchShader", create a new shader.
The new shader should take the same atlasTexture but simply draw the rgb colors for one slice across the whole PlaneGeometry.

You could test this class by short-circuiting the VolumeDrawable to always use the new class instead of RayMarchedAtlasVolume, just to be able to test the shader implementation.

The second part of the implementation is the logic in View3d-->VolumeDrawable to identify when to use the slice rendering vs 3d volume rendering.