]> git.mxchange.org Git - flightgear.git/commit
Frederic Bouvier:
authorehofman <ehofman>
Fri, 2 Apr 2004 14:40:54 +0000 (14:40 +0000)
committerehofman <ehofman>
Fri, 2 Apr 2004 14:40:54 +0000 (14:40 +0000)
commitdba02e35d45a3c11aa4478ef39f8e1008a02e0fc
tree23e3af03e2751a9bc23b7eb525042ce40e675bc8
parent92010f9f9483082bbf83638a49e08053f53c5daa
Frederic Bouvier:

FG_ENABLE_MULTIPASS_CLOUDS must be defined to enable
 the algorithm. I made this because the stencil buffer
 must be initialized at the beginning of the program and
 OpenGL can fallback to software rendering if it can't
 find a visual with stencil buffer. I didn't touch the
 configure script, so CXXFLAGS=-DFG_ENABLE_MULTIPASS_CLOUDS
 must be set before running ./configure.

 If FG_ENABLE_MULTIPASS_CLOUDS is defined, the main render
 loop begins by reading the /sim/rendering/multi-pass-clouds
 property. It is a boolean property so there are only two
 quality levels. false means no multi pass and no use of
 the stencil buffer, true means an additionnal pass for
 both upper and lower cloud layers.

 The algorithms are as follow :
  /sim/rendering/multi-pass-clouds=false
   1. draw sky dome
   2. draw terrain only
   3. draw clouds above the viewer
   4. draw models except the aircraft
   5. draw clouds below the viewer
   6. draw the aircraft.
  The cloud rendering doesn't update the depth buffer.
  This means that models overwrite clouds above the viewer.
  This is only noticeable for tall buildings and when
  flying very low. Also, drawing low clouds after models
  means that they are not blended with models' translucent
  surfaces. Large transparent area require alpha test
  enabled and AI aircraft canopy are making holes. The
  pilot's aircraft being rendered at the end, there is no
  problem with canopy or prop disc.

  /sim/rendering/multi-pass-clouds=true
   1. draw the sky dome
   2. draw the terrain only
   3. draw all clouds
   4. draw models except the aircraft
   5. redraw the clouds where the models where drawn ( stencil
      test on )
   6. draw the aircraft
  The assumptions made by this algoritm are that the terrain
  is not transparent ( should be true in all cases and
  that there are no clouds between the aircraft and the viewer.
  Assuming these facts, there should be no blending bugs.

  The screenshot rendering is not updated yet.
src/Main/fg_os.cxx
src/Main/fg_os.hxx
src/Main/main.cxx