Introduction
This is a simple implementation of precomputed visibility in Vulkan based on modern CPP.
Purpose
While observing 3D world on web, it is a challenge to load so many models instantly, which means we need to load the models selectively. Intuitively, we can load the models that are visible to the camera. However, it is time-consuming to compute the visibility of each model in real-time. Therefore, we can precompute the visibility of each model and store the result in a file. Then, we can load the models selectively according to the visibility data.
the followings are ‘input’:
- OBJ model with vertex only
- instances data
- sample range and frequency
All the things above should be set in ‘main.cpp’ file
After running, the program will write the visibility data into a folder, where there are visibility(Solid angle or pixel count) in each sample point.
Features: