Please note: Active development is ongoing on the dev branch, look there if you want to read through the code.
This is a web-based volumetric renderer for use in the Vesuvius Challenge. Currently supports viewing the campfire scroll with fast, webgl-based rendering, color themes, and layer isolation features.
Contributions are most welcome! Some future plans for the project:
- View larger scrolls (i.e. the fragments) via progressive loading and level of detail
- View ground-truth segmentations
- Annotate scroll layers and virtually unwrap (this can be done in-browser via webgl magic)
- Integrate with your custom ink detection backends
- Cloud hosted version of the tool so no downloads are required to view the campfire scroll
- Clone this repository
- Due to size restrictions, the campfire scroll data isn't included in this repository. Download the campfire.zip from here
- Unzip campfire.zip and place it in the home directory of this repository
- Run the conversion script with
python converttoraw.py
. This converts the campfire scroll data into an 8-bit 3d texture file, which can be loaded into the scroll viewer. You may need to adjust theinput_directory
variable of the script. - Run the scroll viewer with any http server. I recommend
python -m http.server 8000
from the client folder, which can be accessed atlocalhost:8000
in your web browser. - If you have any issues at all, please don't hesistate to open an issue ticket, reach out on the Vesuvius Challenge Discord or contact me on twitter. I'm here to help!
Volumetric rendering is a well-explored problem with countless implementations on the internet. I'm using webgl-volume-raycaster as a boilerplate. That repo includes a great tutorial on the basics of volumetric rendering which I highly recommend to all who want to learn more.