I want to create a beam of laser light. The laser beam will bounces off many mirrored surfaces that can change their angle and positions.

This would be a simulator to help me calculate the geometry for the size of mirrors and the area needed.

Has anyone seen a tutorial or can please help explain how this is done?

  • $\begingroup$ I smell Python scripts in the offing . . . $\endgroup$
    – J Sargent
    Commented Oct 7, 2015 at 23:09
  • $\begingroup$ For all I know Cycles render is not going to work for this project, you might need to render in luxrender. see: blender.stackexchange.com/questions/8645/… $\endgroup$
    – user1853
    Commented Oct 7, 2015 at 23:35
  • $\begingroup$ I haven't played with the particle system enough to know if this would work, but perhaps you can try configuring a particle emitter as your source laser, with the particles representing photons, each with an initial velocity along the axis of the laser beam, and bouncing off each mirror object. Not sure how you might do half-mirrored beam splitters, but this might be a good start. $\endgroup$ Commented Oct 8, 2015 at 20:04
  • $\begingroup$ DrStein99, can you clarify whether there is a need to render? Since you specify the proposed use as a simulator, I would guess not, but if I'm wrong, I'll need to adjust my answer to give you something that can be rendered. $\endgroup$ Commented Oct 10, 2015 at 0:03

2 Answers 2


I created a test blend to verify the concept. You can find it here:

There is a 'laser emitter' which has a simple particle system enabled, along with three 'mirrors' with very simple collision enabled. Also, the scene has had gravity disabled.

Once you open the blend, immediately look at the particles property page on the right side. Look for and click the 'Bake' button. Then go to the Timeline at the bottom and click the play button.

You should see a flow of 'photons' being emitted from the 'laser', bouncing off the mirrors.

Adjust the mirrors to your liking. Make copies of the mirrors to add more.

After any adjustment of the mirrors, click the 'Free Bake' button. It will free the computed particles and the button will revert to the 'Bake' button once again. Click the 'Bake' button to 'apply' the new mirror configuration, then play to watch the new laser beam path through your mirrors.

Hope this helps.

  • $\begingroup$ Awesome idea! Should be able to crank up the speed of the particles, use object particles (small emitter mesh), put some motion blur on there and have something that will render out to look like a laser as well. I played with your file a little bit but the object particles wouldn't show. I'm out of time at the moment but will revisit it later. $\endgroup$
    – Mentalist
    Commented Oct 9, 2015 at 0:11
  • 1
    $\begingroup$ From my reading of the question, I got the impression that the goal is not to render, but to extract mirror positions and angles for use in a real-world setup. Perhaps @DrStein99 can clarify... $\endgroup$ Commented Oct 9, 2015 at 15:23
  • $\begingroup$ Oh, maybe I wasn't clear - you totally answered the question sufficiently according to OP's stated requirements. I mean I was curious about getting this to render as well, since if one needed to animate a laser interacting with an environment in Cycles this would probably be the way to do it. Just thinking about how to take this concept the the next level and make it renderable. $\endgroup$
    – Mentalist
    Commented Oct 10, 2015 at 3:49
  • $\begingroup$ Ok. I'm trying to measure up what I need to build something for real and use the computer to save time building. Except it uses more time for me to learn each new trick I have to do. Thanks for the replies. $\endgroup$
    – DrStein99
    Commented Nov 10, 2015 at 5:14
  • 1
    $\begingroup$ Yes I'm trying to measure mirrors and angles to make a real device, and use blender to simulate. This is a good start, I'll figure out how to adust it to I can move angles realtime somehow or whatever it takes. Does the job. Thanks! $\endgroup$
    – DrStein99
    Commented Nov 10, 2015 at 5:26

LuxCoreRenderer is a physically based renderer that can be added to Blender. It includes lasers and mirrors as light sources and materials. By projecting a laser through a volume, the path of the laser is visible. This works much better than using Cycles or EVEE because of the 'bidir' ray tracing in LuxCoreRenderer.

enter image description here

enter image description here


  1. Add LuxCoreRenderer to Blender - Download & installation instructions
  2. Open a new scene, set the renderer to luxcore. Set the engine to 'Bidir'. NOTE: This will change a lot of options in Blender and make the LuxCoreRenderer shader options available. This had to be done for the options shown below to be available. enter image description here
  3. Add a light source that acts like a laser. Add an area light, make it small, and check the 'Laser' box. enter image description here
  4. Add a cube with a volume shader. The volume shader makes the laser visible when it pass through. enter image description here
  5. Add a surface in the path of the laser. Set the material properties to be a mirror. enter image description here
  6. At this point, a rendering should show a laser hitting the mirror and being reflected.

The file used to generate the images is here - - Saved in Blender 2.83.3

  • 1
    $\begingroup$ Note: changes in the interface of LuxCoreRender 2.8 alpha1 @ Blender 4.0: "Engine" is now captioned "Lighting Integrator" and "Bidir" is now captioned "Bidirectional". $\endgroup$ Commented May 10 at 20:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .