Skip to content

Viewport

derammo edited this page Apr 21, 2020 · 3 revisions

In DCS and Helios, a "Viewport" refers to an area of the screen where DCS shows stuff. Usually, people use this term only when talking about additional viewports used to show controls on extra monitors, such as MFDs displayed on a second monitor. However, the main 3D view of DCS is also technically a viewport and so is the area of the screen used for the main DCS menus (the "UI"). So there can sometimes be some confusion as people refer to the term viewport.

Viewports are created by editing a Monitor Setup file and then selecting the name of this setup in the "Monitors" option of DCS' System Options. There are some monitor setups provided by DCS that also create additional viewports, such as "LMFCD + Camera + RMFCD." These create additional viewports with common names, like "LEFT_MFCD" in the example given.

If a DCS aircraft has a cockpit instrument ("device") that supports an external viewport with the same name, then it will find this viewport and show its data there. For example, most planes that have MFDs call the left one's viewport "LEFT_MFCD," so it will be shown if your selected monitor setup has a viewport with that name. If it does not have such a viewport, nothing happens.

Additional viewports (the ones that are not the UI view or the main 3D view) as frequently called "viewport exports" or "exported viewports" or just "exports" which is also confusing, because "export" means multiple unrelated things in DCS (see export.lua).

Implementation

We could use more information about how it actually works, so please edit this section.

DCS native code renders instruments onto 2D images internally somewhere. Then it texture maps them into the 3D scene. However, it also reads certain Lua files when it does this rendering, to allow them to configure and customize the look without having to go into their hard code. One of the things you can configure is looking for a viewport by name in the monitor setup and also rendering the image at that location. We modify the Lua files to turn on this feature for instruments that support it, but didn't originally enable it. So we don't really participate in the rendering at all. We just ask DCS to do it, and we can customize a few of the rendering parameters. But of course those also get used when the view is rendered into the cockpit. That's why people are always trying to make their RWRs look nicer but then they look unreadable in the cockpit, for example. As of this writing, it does not seem that modders have figured out how to influence the brightness or how to use separate rendering parameters for the two uses of the view.