Hey Rawd, great find on the ArcadeRender registry edits. I am relatively new to this forum and this is my first post. I am planning on creating a simple cabinet setup and was planning on using the ArcadeRender to help achieve that with
FP. I haven't seen anyone discuss this aspect of the ArcadeCamera settings, so I thought I would chime in.
After trying repeatedly to get a better view of the playfield using ArcadeRender and the registry edits you discovered, I noticed that the view for all objects on the table was always from the same angle, which kills any immersive effect for me. In essence, all objects appeared to be viewed from the exact same angle regardless of where on the screen they appeared. I think I know what the
FP developer did to achieve his ArcadeRender mode, why he did it that way, and why it has this feature of everything on the playfield having the same perspective.
I believe the developer was looking for a simple way to achieve a 3D rendered view that would remain rectangular no matter what angle it was viewed at without using a keystone effect. In the registry edits, as long as ArcadeCameraX and ArcadeTargetX are equal, you will always have a rectangular shaped playfield. Period.
What seems to be happening when you change your ArcadeCamera registry values is that you are not setting the actual position of the camera from which the playfield is viewed from. All you are doing is changing the angle between the point (X,Y, and Z values) of the ArcadeTarget registries and the point (X,Y, and Z values) of the ArcadeCamera registries. If you envision a line that goes through these two points that reaches out into infinity away from the ArcadeTarget point, the camera is positioned somewhere along this line, but a very great distance away (perhaps even set at infinity) and its lens is pointing straight back at the ArcadeTarget point.
The further the camera moves away from a rectangular playfield being viewed at an angle (such as the angle used to view the playfield) in a direction parallel to one of the reactangle's sides (which is why the ArcadeCameraX and ArcadeTargetX must be the same, preferably with both set at 0 to keep the playfield centered), the closer the far and near sides of the rectangle will be in perceived width. Once the camera has moved far enough away that difference between the far and near side perceived widths are the same, the 3D render engine would then zoom in on the playfield until it is the proper size. I believe 3D rendering engines even have the ability to render objects from an infinite viewpoint.
I believe this is the technique used by the developer to preserve the rectangular shape of the playfield even when the viewing angle was not directly overhead of the playfield. This would still allow for a 3D rendering of the playfield, but, unfortunately, it makes the playfield look very flat and artificial. This flattening effect is most noticeable on any portion of the playfield that extends vertically near the sides of the table. With the rendering technique used for ArcadeRender, you will never see the sides of a vertical object while viewing the playfield form the proper angle. This is really noticeable in the alleys to the sides of the flippers. When viewing the tables in non-ArcadeRender modes, these alleys look very realistic, but in AcradeRender, they look like they are 2-dimensions objects pasted on the screen.
I agree with others that have commented about using a keystone correction to achieve the ideal rectangular shape from a properly rendered 3D view. This would create as accurate a view as could be achieved using the current flat screen technology in a cabinet. Another improvement would be to allow for head tracking in this "keystone" mode, which would really increase the immersiveness as the viewing angle of the table shifted as your point of view changed. There is also the current re-birth of stereoscopic 3D displays and video card tools that, I believe, would work wonderfully on a virtual pinball table.
I hope these things become a reality because I don't think there is any technical limitation to achieving any of these improvements. Alas, for myself, my nVidia video card drivers don't seem to be able to perform any keystone correction. If anyone knows of a keystone correction solution for an nVidia GTX260 video card, please let me know. I would greatly appreciate it. Thanks.