Projecting an image on a scene

I’d like to simulate a video projector quite accurately : is it possible to have an image projected on a scene as if it came from a single point, and be sharp (think pinhole camera model but reversed).

Of course you can!

Your “projector screen” can have an image textured onto it. Why not use an AVI movie file as the texture, insted of a JPG or PNG?

I have used movie files in BLENDER as textures for… blinking lights, scoreboards, TV sets, computers, and even slightly changing the mood of a sceneby using a simple AVI file that changes the sky to night time.

Why not use an AVI to simulate moving traffic, as seen from an airplane?

Thanks but that’s not what I meant, I want it to look like the projection comes from a point, not a texture simply mapped on it.
Means if the “screen” (the scene itself) isn’t flat, there will be parts of it where the light doesn’t reach.

You want the “halo” to flicker, with the projected image.

Make sure the audience smokes a lot.

Your light source can use a JPG or an AVI too. Am I correct on this? I think you can apply a texture or AVI to it. I am looking at my Blender program now and see an option for that.

Look what you did. I am now experimenting on this too. Another project for me.

I am curious now. Post updates on this, if you find something that works.

To tell you the truth I want to simulate coded structured lighting applied to stereoscopy, much less romantic I suppose.

If you wan the texture to cover the whole scene them add it to a Lamp. If you want it confined to an Object then use Global or Window Coordinate mapping instead of Orco in the MapInput tab in F5.


I’ll try that

here’s an example of what I’d like to achieve

I am not sure what you are trying to explain, but it sure looks like a stereography. Two cameras in Blender.

I have done stills and animations, stereographic . Both with Side-BY-Side images and combined, like red/blue glasses.

Also, I have done the following. And It was very difficult to achieve.

I created Kodak Slides. Used 2 Slide projectors. Each with an attached polarized lens. The projector on the left had the polarization vertical, the one on the right was horizontal.

I used two slides, stereography, that is. One for the left eye, and the other for the right eye.

Now, with special polarized 3D glasses (heisted from Disney World), I saw an amazing 3D image projected onto a silver screen.

it’s active sterography, one camera (or more) and one projector (usually a data projector)
You project a pattern on a scene and from the deformations in the pattern recover 3D information.
I want to model the system in blender (cause projectors and cameras are expensive :wink:

edit : for display we use a widescreen LCD and a geography stereoscope, it’s very nifty.

This would probably be better asked in the python and plugins forum, or via the bf-committers mailing list or the forums. If you ask via one of those venues your odds of finding someone who can answer your question will probably be much improved.


This kind of thing?

Take a look at this .blend file: (103 KB)

What I did was assigned a texture to a Lamp. Use “View” coordinate mapping. In the .blend file, the bottom panel should open with the image texture. Just replace the image with one on your local hard drive (click “Load Image” to do that).

This is fairly basic Blender stuff folks. Unless I’m missing something?

Jonathan Merritt.

A bit more in-depth…

From a blank Blender file…

  1. Create a spotlight lamp. (Spacebar->Add->Lamp->Spot).
  2. Adjust the spotlight location and orientation (keep the lamp selected).
  3. Go to the shading part of the buttons window (F5), and the Lamp sub-tab (little lamp icon).
  4. Under the “Texture and Input” tab, click “Add New”.
  5. Change the name of the texture (in the “TE: xxxx” box) to something appropriate.
  6. Go to the texture part of the buttons window (F6), and make sure “Lamp” is selected in the “Preview” panel. This should display the texture you just named (currently set to type “None”).
  7. Select “Image” texture type from the drop-down box.
  8. Load the image (“Load Image”).
  9. Back in the shading buttons window (F5), click on “View” (in Glob, View, Object). This uses the lamp projected coordinates for texture lookup. (“Use the Source Luke”, for the details.)
  10. Adjust sizeX and sizeY parameters as required (again, refer to the code).

Naturally there are many other options. The above should get you started though.

Jonathan Merritt.

This could also be done by projecting light through a plane, that has the texture, and setting the raytransp setting enabled and the “filter” value to high. I guess it needs a bit alpha lowering as well.

Of course the material that receives the projection must have “TraShad” option enabled in the material settings.

Not sure what you are trying to do. Something like this?

Not the video projection itself, but the color + 3D recovery that comes first.

I foudn this topic on the subject

Is there a way to get rid of the warping ? (see post by osxrules)

Also : given that I only need to project a black and white pattern for the moment, can I use for method 1 with an opaque texture that has an alpha channel ? should the opaque parts be black ?