I just learned about "gaussian splats" and it was the first thing I thought of that might be useful for generating a 3D model that could be converted to a hologram because it specifically uses distance data of reflections to generate the model and how that model fills a volume.
Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
I'm wondering if that type of data is abstract enough, follows similar principles and contains enough information to be used as a source to generate interference patterns.
Update 1: Added a book that seems to be quite comprehensive, and found some shaders that simulate basic holographic film exposure
Book: Introduction to Computer Holography: Creating Computer-Generated Holograms as the Ultimate 3D Image
This is something that could be the beginning of step 1 https://www.shadertoy.com/view/clyyzd based on https://www.shadertoy.com/view/DtKSDW
All updates will be a part of the original post https://programming.dev/post/15448730
A couple of ideas:
Encoding holograms
- Model the object in 3D space (using Blender maybe?)
- Use the Angular Spectrum algorithm to model light propagation, its interaction with the object, and it hitting the recording medium.
- Your final recorded hologram should have two maps (aka "images") across (x, y): a map of the light's amplitude and another of its phase offset. This is your recorded hologram.
Decoding holograms:
- Use the angular spectrum algorithm again except reverse the light's propagation direction. The amplitude and phase maps from the encoding phase are the initial conditions you'll use for the light.
- The light's amplitude and phase information you calculate at various planes above the recording plane are the 3D "reconstructed" image.
Last thought
Holography is often used to record information from the real world, and in that process it's impossible to record the light's phase during the encode step. Physicist's call it "the phase problem" and there are all kinds of fancy tricks to try to get around it when decoding holograms in the computer. If you're simulating everything from scratch then you have the luxury of recording the phase as well as the amplitude - and this should make decoding much easier as a result!
Thanks! Finally something concrete. Once I return to this to write a POC I'll revisit your tips here.