This repository contains source codes of the actual implementation described in the paper,
You can watch our demo video.
Project Environment : C++ 17, MSVC v142.
Dependencies : CUDA 11.2, GLEW, freeglut
expore-virtual-space
-
README.md : This file
-
INTRODUCTION.md : Introduction to what we did
-
/data
- LFdata (Not prepared yet) Light field data we acquired. Captured at the "BMW Driving Center" in Incheon, Korea. Thanks again for the rental of the place.
- pixel_selection Pre-calculated pixel-selection range based on Light-field theory. Each text file name represents user's location inside the LFU. For example, 50_50 means (x, y) = (50, 50). You can choose between two resolutions: 4096x2048 and 7680x4320.
- Map configuration_BMW driving center_Incheon_Korea.xlsx Index information of the light field data constituting the virtual space of 600x5600 cm2.
-
/sources
Including source codes. Import these files into your project. You should replace three macros, RESOLUTION, PATH_LF, and PATH_PIXEL_RANGE. RESOLUTION represents the resolution specification of Light-field data that you use (But now, we only support 4K and 8K). PATH_LF and PATH_PIXEL_RANGE should be set to your directory path where you save the Light-field data and pixel_selection data, respectively.
#define RESOLUTION ${YOUR_RESOLUTION_SPECS} ... #define PATH_LF ${YOUR_LF_DIRECTORY_PATH} #define PATH_PIXEL_RANGE ${YOUR_PIXEL_SELECTION_PATH}
NOTE: The last argument among the constructors of the
LF_Renderer
class determines whether to use the LFU window mode or explore only inside a single LFU.LF_Renderer renderer(PATH_LF, PATH_PIXEL_RANGE, WIDTH, HEIGHT, LF_length, num_LFs, dpp, stride, curPosX, curPosY, true);
-
lib/bin
libs and dlls for glew and freeglut.