You're blocking ads, which pay for BlenderNation. Read about other ways to support us.

Cycles Experiment: Pinhole Camera



How physically accurate is Cycles? Ben Simonds performs a baffling experiment. Anyone up for a double-slit setup? Hah :)

Ben writes:

Not much to look at is it? But it was an interesting experiment. The idea was to push cycle’s physical realism to the absurd extreme of building a pinhole camera in blender. A pinhole camera has no lens or aperture, instead the light just passes through a small hole in the front of the camera, and forms an inverted image on the camera’s back wall (this is why the image above appears upside-down). The construction of a pinhole camera is very simple – it’s a box with a hole in one side, so I figured that because Blender now has a physically accurate ray-tracer in the form of Cycles, it was probably possible to build one that worked in blender.


About Author

Bart Veldhuizen

I have a LONG history with Blender - I wrote some of the earliest Blender tutorials, worked for Not a Number and helped run the crowdfunding campaign that open sourced Blender (the first one on the internet!). I founded BlenderNation in 2006 and have been editing it every single day since then ;-) I also run the Blender Artists forum and I'm Head of Community at Sketchfab.


  1. Has anyone tried refracted light through a prism. I tried this in cycles early stages and was unsuccessful. I would also like to know if anyone has tried assembling a laser?

    • Light refraction is possible and easy but the laser will be insane to render as long as cycles isn't bidirectional! :(

      • TwirlySocrates on


        How does it do that?

        The white light is just represented as an RGB value, no? So how can the renderer possibly know the spectral content of the white light?

        Does it just assume that the spectral content of any light-source is roughly that of a black-body spectrum?

        • Colors are represented by 3 values (red, green, and blue in RGB color mode), white light is a max-value of all these colors, so a prism can split these values out based on different factors (angle, refraction index, etc).

          • Chrome Monkey on

            How far away is the Cycles codebase from being able to incorporate spectral dispersion, is it just an extra step or is it an entirely different form of raytrace that is incompatible with the Cycles model at its core?

          • TwirlySocrates on

            There's many different spectra of light that to us could appear white.

            An RGB value only tells us what the light looks like, and not its spectral content - but you need to know this in order to produce a proper colour dispersion pattern with a prism.

  2. Brian Lockett on

    Just curious--Cycles is physically-accurate? I thought I read a while back somewhere that Cycles wasn't truly physically-accurate, but more a clever cheat of realistic simulation (more like something physically-semi-accurate)? Has Cycles since become physically-accurate, or has it always fundamentally been? Anyways, interesting experiment!

      • I can confirm Your surprise. For computergraphics it is very unusual to model diffraction effects in rendering algorithms. However in room acoustics similar algorithms like raytracing are used. As the wavelength of sound is usually much longer, it seems necessary to modify acoustical raytracing algorithms so that they can handle diffraction. Thats a topic of actual research.

Leave A Reply

To add a profile picture to your message, register your email address with To protect your email address, create an account on BlenderNation and log in when posting a message.