GithubHelp home page GithubHelp logo

shoukou-lee / walk-around-the-virtual-world Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 6.0 23.91 MB

Light field-based free-viewpoint VR system

Cuda 36.97% C++ 62.31% C 0.72%
cuda vr light-field-processing

walk-around-the-virtual-world's Introduction

This repository contains source codes of the actual implementation described in the paper,

S. Lee, H. Jung and C. E. Rhee, "Data Orchestration for Accelerating GPU-Based Light Field Rendering Aiming at a Wide Virtual Space," in IEEE Transactions on Circuits and Systems for Video Technology, vol. 32, no. 6, pp. 3575-3586, June 2022.


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.

walk-around-the-virtual-world's People

Contributors

shoukou-lee avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.