"Virtual screens" in 3D engines (displaying on a wall another portion of the 3D world)

132 views Asked by At

To clarify the technical problem i have, i want to describe the scene i have in mind:

In a 3D computer simulation, I want to build a kind of cabin (cube form) that stands isolated in a large plane. There's 1 door to enter the cabin. Next to this door I want to show a movie playing (avi file or something) on the wall of the cabin. If you enter the cabin, on all 4 sides I want to show a virtual 3D landscape projection that is based on the input of the video projected outside: every pixel in the video will be represented as a cube (rgb -> height width depth). The resulting landscape of cubes needs to be projected on the inside walls of the cabin. And as a user, you will not be able to walk into this projection (it's a virtual window, not a portal).

Technically, for me this translates into these questions: i want to

  1. display a movie inside the 3D world on a wall

  2. access the pixel data of this movie

  3. transform on the fly these pixels into 3D representation of cubes

  4. show these cubes as a virtual projection on a wall in the game. (as a kind of visual teleport that you can't cross)

I was wondering which 3d engine would allow this? I don't mind any programming language. I'm fluent in mono/.net or java, but i can manage c++ or other languages (as long as the engine is well documented).

Kind Regards, Ruben.

ps: I don't know if this question is of interest to anybody else. At least not in the functional kind of way. But maybe it triggers a hypothetical interest :)

1

There are 1 answers

3
ccoakley On BEST ANSWER

Any engine that supports dynamic texture maps and multiple viewports (rendering surfaces).

  1. render the scene you want on your wall
  2. texture wall with the output of 1
  3. render your room scene

Many engines support this. The Unreal Tournament Engine (UT2004) supports this, as evidenced by the dynamic texture on carried sniper scopes (example, Killing Floor). Security camera screens in Half-life 2 do this as well (source engine).