I am in search of the most effective practice or practices for solving the following problem. I will strive to describe it in a way that is abstract enough to be applied to unforeseen scenarios.
Available data consists of Voxels (volumetric pixels) forming a cube with coordinates x, y, z and an attached color.
The objective is to utilize OpenGL to display this data as you navigate through it from various perspectives.
The question at hand is: What is the optimal approach to rendering these voxels based on the viewpoint? How should the data be stored?
Considerations to keep in mind:
- The cube of data can be viewed as z layers of x y data. It should allow for viewing between layers, with the displayed color being interpolated from the nearest matching voxels.
- For my specific application, I have datasets with dimensions of (x, y, z) = (512, 512, 128) and beyond, containing medical data such as scans of hearts and brains.
What I have attempted thus far includes evaluating different frameworks (such as PIXI.js and three.js) and going through several WebGL tutorials.
If anything remains unclear, please do not hesitate to inquire further.