I want to implement GPU-based ray casting volume rendering of large data sets which are larger than GPU memory. I try to do like this:
(1)Firstly I divide the volume into bricks with equal size.
(2)Then I decide if each brick is transparent or not according the transfer function.
(3)Then I store the non-transparent brick into a "Packed-Texture".In order to sample during ray casting rendering,I create another texture called "Index-Texture" which store the brick index in Packed-Texture.
When I do sampling during rendering in the shader, Firstly I calculate in which brick the sample point is.And then I access the Index-Texture to get the value of the sample point.But in default the value is after interpolated, and is not correctly the index of brick in the Packed-Texture.
So,my question is:when do sampling during ray casting rendering,how to get the index of brick (in which the sample point is) in Packed-Texture from the Index-Texture correctly?