Exilyth wrote:There are three ways mirrors are done in games usually:
a) ray casting - light from the light sources (or rays from the camera, depending on which method is used) is cast through the world and is reflected off of surfaces (and takes on their color).
b) texture mirror - the camera is placed so that it views what the mirror would see. This view is saved as a texture and placed on the surface of the mirror. Downside: this requires one additional render pass per mirror.
c) fake - the mirror is a glass panel with a complete room placed behind it. All objects in the real room are copied in the mirror room.
Anyway, I doubt the low level rendering systems needed for either method a) or b) are made available through the lua api.
And c) might be hard to implement and/or give bad results.
SegFault22 wrote:I remember, when using that game making tool ''3D Rad'', there were options to make a surface of an object ''reflective''. 3D Rad is built in C++, which Minetest is built in, so it is possible. Maybe very, very difficult, but possible.
hoodedice wrote:Anything is possible. But implementing mirrors in a game which is by itself, largely buggy, unfinished and unoptimised is not nice.
kaeza wrote:hoodedice wrote:Anything is possible. But implementing mirrors in a game which is by itself, largely buggy, unfinished and unoptimised is not nice.
AFAIK, the problem with reflection is the fact that Minetest worlds are fully dynamic. In most other games, you can do those tricks because you "know" where the reflective surfaces are, and what can possibly be reflected on them and seen by the player because you have a closed, small environment.
Again, this is possible in Minetest, but not as trivial as in, say, a random FPS.
ch98 wrote:so we need an very good c++ programmer working on it long time?
Users browsing this forum: No registered users and 7 guests