Skip to content
Render an OBJ file for viewing as a reflective hologram.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dependencies
hardware
web @ 5bfa7d2
.gitignore
.gitmodules
CMakeLists.txt
CSH.obj
LICENSE.txt
README.md
bb8.obj
capsule.obj
cube.obj
glhelper.hpp
h2g2coin.obj
hologram.jpg
logo.obj
main.cpp
screenshot.png
shaders.h
verts.hpp

README.md

Holo

Projection

I've seen a lot of tutorials online about how to make a phone sized reflective prism for projecting 'holograms' (not technically a hologram, but creates the illusion of one). However, they were too small to be very interesting, and I couldn't find any software to render a object properly. As a result, I created a 4-sided reflective prism from 8"x10" lexan sheets, and wrote software to render an object in the proper perspectives.

Features

  • Uses multiple glViewports to render the object onto the same screen from different perspectives.
  • Normalizes the size of an object to properly fit on the screen.
  • Adjustable distance and rotation.

Building with Windows (using git bash)

Dependencies

git clone https://github.com/wastevensv/Holo
cd Holo
git submodule update --init
mkdir build
cd build
cmake .. # May need to specify generator with -G option. Currently only "Visual Studio 14 2015 Win64" is known working.
# Then open generated Holo.sln file and build in Visual Studio.
cd Debug
./holo ../objs/bb8.obj

Building with Linux

sudo apt install cmake mesa-utils libgl1-mesa-dev libxrandr-dev libxinerama-dev libxcursor-dev libglu1-mesa-dev # For ubuntu. Adjust package names as needed.
git clone https://github.com/wastevensv/Holo
cd Holo
git submodule update --init
mkdir build
cd build
cmake ..
make
./holo objs/bb8.obj

Screenshot

You can’t perform that action at this time.