1. Friedrich Kastner-Masilko
  2. OVP

Wiki

Clone wiki

OVP / Home

Orbiter Visualisation Project

This project started as mirror of Martin Schweiger's SVN repository on Sourceforge, but quickly morphed into a development repository for OVP DirectX clients. So far, it hosts D3D9Client and D3D11Client, with the former (mainly implemented by Orbiter-Forum user jarmonik) mostly for reference.

This Wiki focus on D3D11Client development.

Installation

Create a vanilla Orbiter installation. Get the latest released version package here. Unzip to a temporary location, then copy the content of the extracted folder "face-ovp-<some_hash>" to your created Orbiter installation (if asked for overwriting folders or files, click yes). Further instructions here.

Branches

Currently the project runs three named branches with some bookmarks to mark heads:

Named branchBookmarkDescription
(default)Mirror of SVN development - core OVP
D3D9ClientMirror of jarmonik's releases and CodePlex repository
D3D9Client(Orbiter130101)Mirror of jarmonik's beta releases
D3D11ClientFace's work branch (deprecated)
D3D11Client(master)Project master for Orbiter beta
D3D11Client(O2010P1)Project master for Orbiter 2010 Patch 1
D3DxClient(<user>/master)user's work branch

Roadmap

The following points are open for discussion and should reflect a first draft of a roadmap:

  1. Properly implement beacons for vessels, including proper lighting by them - completed.
  2. Implement per-pixel lighting for vessel, that would also support variable lights count - completed, supports up to 8 beacons, and number can be increased should the need arise.
  3. Make code compatible with latest Orbiter Beta release - completed, now the module is built against and compatible with Orbiter 111105 beta build.
  4. Adaptive tesselation for planet rendering. And/or Phong per-pixel lighting for terrain.
    • Problem: currently specular highlights looks very bad at close distance due to large size of trianges.
  5. Self-shadowing parts of the vessel.
    • Problem: shadow maps impractical due to multiple passes neccessary to create maps (one pass - one light source).
    • Suggestion: apply Parralax Occlusion Mapping or similar approach to fix it up.
  6. Add post-processing effects like lense glare.
  7. Computing particle systems' state propagation in compute shaders to free up CPU.
  8. Design API for vessel developers. Possibly custom shaders, advanced particle effects.

Updated