Avoiding huge far clip

Started by
16 comments, last by dpadam450 7 years, 11 months ago

On the fifth day of creation, to hide the z-fighting and to prevent distance objects from suddenly popping into view, God added curvature to the earth.

Atmospheric fog and curvature together would probably help set an absolute limit to your terrain. Any ridiculously high objects - like mega towers or mega mountains, you could add just those (hopefully few) extreme situations to your skybox.

Yeah, on earth, the horizon is about 5km away, or 36km if you're on top of a 100m tower. 5km is definately feasible for most games. 36km is feasible if you've got great world LOD'ing :D

You can also just stop rendering things past a certain distance as an extreme/simple form of LOD. In my game, the world only exists out to about 5km, and suddenly stops. The atmospheric scattering effect draws a curved horizon in the distance, with fog thick enough that you can't actually see where the ground ends and the edge of the world begins -- it just looks like a smooth horizon!

If you use the debug camera to fly 200km straight up into the air, the horizon gets more and more curved until you're in space looking down at a pale blue dot like a space simulator :D Even though it's just fog (you can't see any continents or oceans), it's a pretty amazing effect to make it feel like the game world is boundless.

Advertisement

Set far to 0.1/etc, and near to 10000/etc, reverse your depth test (GEqual instead of LEqual), and create a 32bit float depth buffer instead of 24bit int.

...

Hodgman is right - you should use Inverted Z buffer. Then you'll be able to render everything from ants to solar systems without any z-fighting. Regular z-buffering should die and never be talked about again.

Just one small correction. Far has to be set to 0 (not 0.1) because floating point number have greatest precision around 0 - with inv z buffer you practically get logarithmic precision because both exponent and mantissa part of the floating point number gets used. On the other hand, if you use standard z-buffer then great distances converge to 1 which has very low precision (only few bits of mantissa are use for enormous range - hence the z-fighting).

Of course, if you set FAR to 0, function that calculates proj matrix might crash (because of division with 0) so it is best that you set this manually. In fact, I recommend not even using 4x4 matrices - they occupy to much space and they are not worth the trouble. 4x3 matrices are good enough for everything but projection. Instead of using projection matrix just calculate coordinates like this: w=z; z=Znear; x*=fovX; y*=fovY.

Notice that Zfar is not used at all (and x,y,z are in camera space)

After interpolation - screen space Z will be Znear/z

At Znear distances it will be 1. At greater distances it will converge to 0 which will give you great precision.

Wow, thanks for all the input guys. Loads of great info there.

Many thanks.

AMD doesn't even support 24bit depth buffers in hardware anymore

I had a videocard while working at EA that when I brought in an OpenGL 2.0 project, using 32-bit depth buffers was not working at all (I don't think it was creating a context). Not sure if it was a hardware issue or not but someone mentioned that some cards didn't support it. I had an AMD card at home and only noticed that day at work when on an Nvidia card, and it wasn't a very old card. This was with a forward rendering approach.

NBA2K, Madden, Maneater, Killing Floor, Sims http://www.pawlowskipinball.com/pinballeternal

My laptop has a Geforce 650M, a few years old by now, but not exactly ancient either. This hardware does not allow 32 bit depth buffers. I can create an OpenGL 4.4 Core context on it, with modern features, multi render target and the whole nine yards... but no 32 bit depth. The glewinfo output below shows the table. So be careful about the 32 bit assumption (on lower-end NVIDIA hardware anyway). If I ask for 32 bit depth, it seems to try and create the context with the integrated intel graphics, and fails. I still need to try WGL_NV_gpu_affinity and AMD_gpu_association to prevent that in general.

The odd part is I can create a GL_DEPTH32F_STENCIL8 render target just fine for my deferred pipeline, which effectively becomes my 32 bit depth buffer, and I really don't use the framebuffer's depth for very far distances. So, I create the window with a 24 bit depth and call it a day.


+-----+-------------------------+-----------------+----------+-----------------+----------+
 |     |          visual         |      color      | ax dp st |      accum      |   layer  |
 |  id | tp ac gd fm db sw st ms |  sz  r  g  b  a | bf th cl |  sz  r  g  b  a | ov un sw |
 +-----+-------------------------+-----------------+----------+-----------------+----------+
 |   1 | wp fu  .  i  .  .  .  . |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |   2 | wp fu  .  i  .  .  .  . |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |   3 | wp fu  .  i  .  .  .  . |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |   4 | wp fu  .  i  .  .  .  . |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |   5 | wp fu  .  i  .  .  .  . |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |   6 | wp fu  .  i  .  .  .  . |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |   7 | wp fu  .  i  y  x  .  . |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |   8 | wp fu  .  i  y  x  .  . |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |   9 | wp fu  .  i  y  x  .  . |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  10 | wp fu  .  i  y  x  .  . |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  11 | wp fu  .  i  y  x  .  . |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  12 | wp fu  .  i  y  x  .  . |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  13 | wp fu  .  i  y  c  .  . |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  14 | wp fu  .  i  y  c  .  . |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  15 | wp fu  .  i  y  c  .  . |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  16 | wp fu  .  i  y  c  .  . |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  17 | wp fu  .  i  y  c  .  . |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  18 | wp fu  .  i  y  c  .  . |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  19 | wp fu  .  i  y  x  .  2 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  20 | wp fu  .  i  y  x  .  2 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  21 | wp fu  .  i  y  x  .  2 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  22 | wp fu  .  i  y  x  .  2 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  23 | wp fu  .  i  y  x  .  2 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  24 | wp fu  .  i  y  x  .  2 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  25 | wp fu  .  i  y  c  .  2 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  26 | wp fu  .  i  y  c  .  2 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  27 | wp fu  .  i  y  c  .  2 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  28 | wp fu  .  i  y  c  .  2 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  29 | wp fu  .  i  y  c  .  2 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  30 | wp fu  .  i  y  c  .  2 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  31 | wp fu  .  i  y  x  .  4 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  32 | wp fu  .  i  y  x  .  4 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  33 | wp fu  .  i  y  x  .  4 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  34 | wp fu  .  i  y  x  .  4 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  35 | wp fu  .  i  y  x  .  4 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  36 | wp fu  .  i  y  x  .  4 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  37 | wp fu  .  i  y  c  .  4 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  38 | wp fu  .  i  y  c  .  4 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  39 | wp fu  .  i  y  c  .  4 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  40 | wp fu  .  i  y  c  .  4 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  41 | wp fu  .  i  y  c  .  4 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  42 | wp fu  .  i  y  c  .  4 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  43 | wp fu  .  i  y  x  .  8 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  44 | wp fu  .  i  y  x  .  8 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  45 | wp fu  .  i  y  x  .  8 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  46 | wp fu  .  i  y  x  .  8 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  47 | wp fu  .  i  y  x  .  8 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  48 | wp fu  .  i  y  x  .  8 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  49 | wp fu  .  i  y  c  .  8 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  50 | wp fu  .  i  y  c  .  8 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  51 | wp fu  .  i  y  c  .  8 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  52 | wp fu  .  i  y  c  .  8 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  53 | wp fu  .  i  y  c  .  8 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  54 | wp fu  .  i  y  c  .  8 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  55 | wp fu  .  i  y  x  . 16 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  56 | wp fu  .  i  y  x  . 16 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  57 | wp fu  .  i  y  x  . 16 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  58 | wp fu  .  i  y  x  . 16 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  59 | wp fu  .  i  y  x  . 16 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  60 | wp fu  .  i  y  x  . 16 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  61 | wp fu  .  i  y  c  . 16 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  62 | wp fu  .  i  y  c  . 16 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  63 | wp fu  .  i  y  c  . 16 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  64 | wp fu  .  i  y  c  . 16 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  65 | wp fu  .  i  y  c  . 16 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  66 | wp fu  .  i  y  c  . 16 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 |  67 | wp fu  .  i  y  x  .  8 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  68 | wp fu  .  i  y  x  .  8 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  69 | wp fu  .  i  y  x  .  8 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  70 | wp fu  .  i  y  x  .  8 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  71 | wp fu  .  i  y  c  .  8 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  72 | wp fu  .  i  y  c  .  8 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  73 | wp fu  .  i  y  c  .  8 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  74 | wp fu  .  i  y  c  .  8 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  75 | wp fu  .  i  y  x  . 16 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  76 | wp fu  .  i  y  x  . 16 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  77 | wp fu  .  i  y  x  . 16 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  78 | wp fu  .  i  y  x  . 16 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  79 | wp fu  .  i  y  c  . 16 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  80 | wp fu  .  i  y  c  . 16 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  81 | wp fu  .  i  y  c  . 16 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  82 | wp fu  .  i  y  c  . 16 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  83 | wp fu  .  i  y  x  . 16 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  84 | wp fu  .  i  y  x  . 16 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  85 | wp fu  .  i  y  x  . 16 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  86 | wp fu  .  i  y  x  . 16 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  87 | wp fu  .  i  y  c  . 16 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  88 | wp fu  .  i  y  c  . 16 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  89 | wp fu  .  i  y  c  . 16 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  90 | wp fu  .  i  y  c  . 16 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  91 | wp fu  .  i  y  x  . 32 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  92 | wp fu  .  i  y  x  . 32 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  93 | wp fu  .  i  y  x  . 32 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  94 | wp fu  .  i  y  x  . 32 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  95 | wp fu  .  i  y  c  . 32 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  96 | wp fu  .  i  y  c  . 32 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 |  97 | wp fu  .  i  y  c  . 32 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 |  98 | wp fu  .  i  y  c  . 32 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 135 | pb fu  .  i  .  .  .  . |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 136 | pb fu  .  i  .  .  .  . |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 137 | pb fu  .  i  .  .  .  . |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 138 | pb fu  .  i  .  .  .  . |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 139 | pb fu  .  i  .  .  .  . |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 140 | pb fu  .  i  .  .  .  . |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 141 | pb fu  .  i  y  x  .  . |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 142 | pb fu  .  i  y  x  .  . |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 143 | pb fu  .  i  y  x  .  . |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 144 | pb fu  .  i  y  x  .  . |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 145 | pb fu  .  i  y  x  .  . |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 146 | pb fu  .  i  y  x  .  . |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 147 | pb fu  .  i  y  c  .  . |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 148 | pb fu  .  i  y  c  .  . |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 149 | pb fu  .  i  y  c  .  . |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 150 | pb fu  .  i  y  c  .  . |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 151 | pb fu  .  i  y  c  .  . |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 152 | pb fu  .  i  y  c  .  . |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 153 | pb fu  .  i  .  .  .  2 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 154 | pb fu  .  i  .  .  .  2 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 155 | pb fu  .  i  .  .  .  2 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 156 | pb fu  .  i  .  .  .  2 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 157 | pb fu  .  i  .  .  .  2 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 158 | pb fu  .  i  .  .  .  2 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 159 | pb fu  .  i  y  x  .  2 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 160 | pb fu  .  i  y  x  .  2 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 161 | pb fu  .  i  y  x  .  2 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 162 | pb fu  .  i  y  x  .  2 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 163 | pb fu  .  i  y  x  .  2 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 164 | pb fu  .  i  y  x  .  2 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 165 | pb fu  .  i  y  c  .  2 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 166 | pb fu  .  i  y  c  .  2 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 167 | pb fu  .  i  y  c  .  2 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 168 | pb fu  .  i  y  c  .  2 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 169 | pb fu  .  i  y  c  .  2 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 170 | pb fu  .  i  y  c  .  2 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 171 | pb fu  .  i  .  .  .  4 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 172 | pb fu  .  i  .  .  .  4 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 173 | pb fu  .  i  .  .  .  4 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 174 | pb fu  .  i  .  .  .  4 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 175 | pb fu  .  i  .  .  .  4 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 176 | pb fu  .  i  .  .  .  4 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 177 | pb fu  .  i  y  x  .  4 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 178 | pb fu  .  i  y  x  .  4 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 179 | pb fu  .  i  y  x  .  4 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 180 | pb fu  .  i  y  x  .  4 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 181 | pb fu  .  i  y  x  .  4 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 182 | pb fu  .  i  y  x  .  4 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 183 | pb fu  .  i  y  c  .  4 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 184 | pb fu  .  i  y  c  .  4 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 185 | pb fu  .  i  y  c  .  4 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 186 | pb fu  .  i  y  c  .  4 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 187 | pb fu  .  i  y  c  .  4 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 188 | pb fu  .  i  y  c  .  4 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 189 | pb fu  .  i  .  .  .  8 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 190 | pb fu  .  i  .  .  .  8 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 191 | pb fu  .  i  .  .  .  8 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 192 | pb fu  .  i  .  .  .  8 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 193 | pb fu  .  i  .  .  .  8 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 194 | pb fu  .  i  .  .  .  8 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 195 | pb fu  .  i  y  x  .  8 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 196 | pb fu  .  i  y  x  .  8 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 197 | pb fu  .  i  y  x  .  8 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 198 | pb fu  .  i  y  x  .  8 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 199 | pb fu  .  i  y  x  .  8 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 200 | pb fu  .  i  y  x  .  8 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 201 | pb fu  .  i  y  c  .  8 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 202 | pb fu  .  i  y  c  .  8 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 203 | pb fu  .  i  y  c  .  8 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 204 | pb fu  .  i  y  c  .  8 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 205 | pb fu  .  i  y  c  .  8 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 206 | pb fu  .  i  y  c  .  8 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 207 | pb fu  .  i  .  .  . 16 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 208 | pb fu  .  i  .  .  . 16 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 209 | pb fu  .  i  .  .  . 16 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 210 | pb fu  .  i  .  .  . 16 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 211 | pb fu  .  i  .  .  . 16 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 212 | pb fu  .  i  .  .  . 16 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 213 | pb fu  .  i  y  x  . 16 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 214 | pb fu  .  i  y  x  . 16 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 215 | pb fu  .  i  y  x  . 16 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 216 | pb fu  .  i  y  x  . 16 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 217 | pb fu  .  i  y  x  . 16 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 218 | pb fu  .  i  y  x  . 16 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 219 | pb fu  .  i  y  c  . 16 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 220 | pb fu  .  i  y  c  . 16 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 221 | pb fu  .  i  y  c  . 16 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 222 | pb fu  .  i  y  c  . 16 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 223 | pb fu  .  i  y  c  . 16 |  32  8  8  8  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 224 | pb fu  .  i  y  c  . 16 |  32  8  8  8  8 |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 225 | pb fu  .  i  .  .  .  8 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 226 | pb fu  .  i  .  .  .  8 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 227 | pb fu  .  i  .  .  .  8 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 228 | pb fu  .  i  .  .  .  8 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 229 | pb fu  .  i  y  x  .  8 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 230 | pb fu  .  i  y  x  .  8 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 231 | pb fu  .  i  y  x  .  8 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 232 | pb fu  .  i  y  x  .  8 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 233 | pb fu  .  i  y  c  .  8 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 234 | pb fu  .  i  y  c  .  8 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 235 | pb fu  .  i  y  c  .  8 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 236 | pb fu  .  i  y  c  .  8 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 237 | pb fu  .  i  .  .  . 16 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 238 | pb fu  .  i  .  .  . 16 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 239 | pb fu  .  i  .  .  . 16 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 240 | pb fu  .  i  .  .  . 16 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 241 | pb fu  .  i  y  x  . 16 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 242 | pb fu  .  i  y  x  . 16 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 243 | pb fu  .  i  y  x  . 16 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 244 | pb fu  .  i  y  x  . 16 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 245 | pb fu  .  i  y  c  . 16 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 246 | pb fu  .  i  y  c  . 16 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 247 | pb fu  .  i  y  c  . 16 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 248 | pb fu  .  i  y  c  . 16 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 249 | pb fu  .  i  .  .  . 16 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 250 | pb fu  .  i  .  .  . 16 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 251 | pb fu  .  i  .  .  . 16 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 252 | pb fu  .  i  .  .  . 16 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 253 | pb fu  .  i  y  x  . 16 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 254 | pb fu  .  i  y  x  . 16 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 255 | pb fu  .  i  y  x  . 16 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 256 | pb fu  .  i  y  x  . 16 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 257 | pb fu  .  i  y  c  . 16 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 258 | pb fu  .  i  y  c  . 16 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 259 | pb fu  .  i  y  c  . 16 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 260 | pb fu  .  i  y  c  . 16 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 261 | pb fu  .  i  .  .  . 32 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 262 | pb fu  .  i  .  .  . 32 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 263 | pb fu  .  i  .  .  . 32 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 264 | pb fu  .  i  .  .  . 32 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 265 | pb fu  .  i  y  x  . 32 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 266 | pb fu  .  i  y  x  . 32 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 267 | pb fu  .  i  y  x  . 32 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 268 | pb fu  .  i  y  x  . 32 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 269 | pb fu  .  i  y  c  . 32 |  32  8  8  8  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 270 | pb fu  .  i  y  c  . 32 |  32  8  8  8  8 |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 271 | pb fu  .  i  y  c  . 32 |  32  8  8  8  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 272 | pb fu  .  i  y  c  . 32 |  32  8  8  8  8 |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 273 | pb fu  .  i  .  .  .  . |  16  5  6  5  . |  4 16  . |  64 16 16 16 16 |  .  .  . |
 | 274 | pb fu  .  i  .  .  .  . |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 275 | pb fu  .  i  .  .  .  . |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 276 | pb fu  .  i  .  .  .  . |  16  5  6  5  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 277 | pb fu  .  i  y  x  .  . |  16  5  6  5  . |  4 16  . |  64 16 16 16 16 |  .  .  . |
 | 278 | pb fu  .  i  y  x  .  . |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 279 | pb fu  .  i  y  x  .  . |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 280 | pb fu  .  i  y  x  .  . |  16  5  6  5  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 281 | pb fu  .  i  y  c  .  . |  16  5  6  5  . |  4 16  . |  64 16 16 16 16 |  .  .  . |
 | 282 | pb fu  .  i  y  c  .  . |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 283 | pb fu  .  i  y  c  .  . |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 284 | pb fu  .  i  y  c  .  . |  16  5  6  5  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 285 | pb fu  .  i  .  .  .  2 |  16  5  6  5  . |  4 16  . |  64 16 16 16 16 |  .  .  . |
 | 286 | pb fu  .  i  .  .  .  2 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 287 | pb fu  .  i  .  .  .  2 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 288 | pb fu  .  i  .  .  .  2 |  16  5  6  5  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 289 | pb fu  .  i  y  x  .  2 |  16  5  6  5  . |  4 16  . |  64 16 16 16 16 |  .  .  . |
 | 290 | pb fu  .  i  y  x  .  2 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 291 | pb fu  .  i  y  x  .  2 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 292 | pb fu  .  i  y  x  .  2 |  16  5  6  5  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 293 | pb fu  .  i  y  c  .  2 |  16  5  6  5  . |  4 16  . |  64 16 16 16 16 |  .  .  . |
 | 294 | pb fu  .  i  y  c  .  2 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 295 | pb fu  .  i  y  c  .  2 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 296 | pb fu  .  i  y  c  .  2 |  16  5  6  5  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 297 | pb fu  .  i  .  .  .  4 |  16  5  6  5  . |  4 16  . |  64 16 16 16 16 |  .  .  . |
 | 298 | pb fu  .  i  .  .  .  4 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 299 | pb fu  .  i  .  .  .  4 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 300 | pb fu  .  i  .  .  .  4 |  16  5  6  5  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 301 | pb fu  .  i  y  x  .  4 |  16  5  6  5  . |  4 16  . |  64 16 16 16 16 |  .  .  . |
 | 302 | pb fu  .  i  y  x  .  4 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 303 | pb fu  .  i  y  x  .  4 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 304 | pb fu  .  i  y  x  .  4 |  16  5  6  5  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 305 | pb fu  .  i  y  c  .  4 |  16  5  6  5  . |  4 16  . |  64 16 16 16 16 |  .  .  . |
 | 306 | pb fu  .  i  y  c  .  4 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 307 | pb fu  .  i  y  c  .  4 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 308 | pb fu  .  i  y  c  .  4 |  16  5  6  5  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 309 | pb fu  .  i  .  .  .  8 |  16  5  6  5  . |  4 16  . |  64 16 16 16 16 |  .  .  . |
 | 310 | pb fu  .  i  .  .  .  8 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 311 | pb fu  .  i  .  .  .  8 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 312 | pb fu  .  i  .  .  .  8 |  16  5  6  5  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 313 | pb fu  .  i  y  x  .  8 |  16  5  6  5  . |  4 16  . |  64 16 16 16 16 |  .  .  . |
 | 314 | pb fu  .  i  y  x  .  8 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 315 | pb fu  .  i  y  x  .  8 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 316 | pb fu  .  i  y  x  .  8 |  16  5  6  5  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 317 | pb fu  .  i  y  c  .  8 |  16  5  6  5  . |  4 16  . |  64 16 16 16 16 |  .  .  . |
 | 318 | pb fu  .  i  y  c  .  8 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 319 | pb fu  .  i  y  c  .  8 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 320 | pb fu  .  i  y  c  .  8 |  16  5  6  5  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 321 | pb fu  .  i  .  .  . 16 |  16  5  6  5  . |  4 16  . |  64 16 16 16 16 |  .  .  . |
 | 322 | pb fu  .  i  .  .  . 16 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 323 | pb fu  .  i  .  .  . 16 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 324 | pb fu  .  i  .  .  . 16 |  16  5  6  5  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 325 | pb fu  .  i  y  x  . 16 |  16  5  6  5  . |  4 16  . |  64 16 16 16 16 |  .  .  . |
 | 326 | pb fu  .  i  y  x  . 16 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 327 | pb fu  .  i  y  x  . 16 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 328 | pb fu  .  i  y  x  . 16 |  16  5  6  5  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 329 | pb fu  .  i  y  c  . 16 |  16  5  6  5  . |  4 16  . |  64 16 16 16 16 |  .  .  . |
 | 330 | pb fu  .  i  y  c  . 16 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 331 | pb fu  .  i  y  c  . 16 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 332 | pb fu  .  i  y  c  . 16 |  16  5  6  5  . |  4  .  . |  64 16 16 16 16 |  .  .  . |
 | 333 | pb fu  .  i  .  .  .  8 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 334 | pb fu  .  i  .  .  .  8 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 335 | pb fu  .  i  y  x  .  8 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 336 | pb fu  .  i  y  x  .  8 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 337 | pb fu  .  i  y  c  .  8 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 338 | pb fu  .  i  y  c  .  8 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 339 | pb fu  .  i  .  .  . 16 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 340 | pb fu  .  i  .  .  . 16 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 341 | pb fu  .  i  y  x  . 16 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 342 | pb fu  .  i  y  x  . 16 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 343 | pb fu  .  i  y  c  . 16 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 344 | pb fu  .  i  y  c  . 16 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 345 | pb fu  .  i  .  .  . 16 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 346 | pb fu  .  i  .  .  . 16 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 347 | pb fu  .  i  y  x  . 16 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 348 | pb fu  .  i  y  x  . 16 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 349 | pb fu  .  i  y  c  . 16 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 350 | pb fu  .  i  y  c  . 16 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 351 | pb fu  .  i  .  .  . 32 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 352 | pb fu  .  i  .  .  . 32 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 353 | pb fu  .  i  y  x  . 32 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 354 | pb fu  .  i  y  x  . 32 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 355 | pb fu  .  i  y  c  . 32 |  16  5  6  5  . |  4 24  . |  64 16 16 16 16 |  .  .  . |
 | 356 | pb fu  .  i  y  c  . 32 |  16  5  6  5  . |  4 24  8 |  64 16 16 16 16 |  .  .  . |
 | 357 | pb fu  .  i  .  .  .  . |   .  .  .  .  . |  . 16  . |   .  .  .  .  . |  .  .  . |
 | 358 | pb fu  .  i  .  .  .  . |   .  .  .  .  . |  . 24  . |   .  .  .  .  . |  .  .  . |
 | 359 | pb fu  .  i  .  .  .  . |   .  .  .  .  . |  . 24  8 |   .  .  .  .  . |  .  .  . |
 | 360 | pb fu  .  f  .  .  .  . |  16 16  .  .  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 361 | pb fu  .  f  .  .  .  . |  16 16  .  .  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 362 | pb fu  .  f  .  .  .  . |  16 16  .  .  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 363 | pb fu  .  f  y  x  .  . |  16 16  .  .  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 364 | pb fu  .  f  y  x  .  . |  16 16  .  .  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 365 | pb fu  .  f  y  x  .  . |  16 16  .  .  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 366 | pb fu  .  f  y  c  .  . |  16 16  .  .  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 367 | pb fu  .  f  y  c  .  . |  16 16  .  .  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 368 | pb fu  .  f  y  c  .  . |  16 16  .  .  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 369 | pb fu  .  f  .  .  .  . |  32 32  .  .  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 370 | pb fu  .  f  .  .  .  . |  32 32  .  .  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 371 | pb fu  .  f  .  .  .  . |  32 32  .  .  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 372 | pb fu  .  f  y  x  .  . |  32 32  .  .  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 373 | pb fu  .  f  y  x  .  . |  32 32  .  .  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 374 | pb fu  .  f  y  x  .  . |  32 32  .  .  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 375 | pb fu  .  f  y  c  .  . |  32 32  .  .  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 376 | pb fu  .  f  y  c  .  . |  32 32  .  .  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 377 | pb fu  .  f  y  c  .  . |  32 32  .  .  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 378 | pb fu  .  f  .  .  .  . |  32 16 16  .  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 379 | pb fu  .  f  .  .  .  . |  32 16 16  .  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 380 | pb fu  .  f  .  .  .  . |  32 16 16  .  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 381 | pb fu  .  f  y  x  .  . |  32 16 16  .  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 382 | pb fu  .  f  y  x  .  . |  32 16 16  .  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 383 | pb fu  .  f  y  x  .  . |  32 16 16  .  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 384 | pb fu  .  f  y  c  .  . |  32 16 16  .  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 385 | pb fu  .  f  y  c  .  . |  32 16 16  .  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 386 | pb fu  .  f  y  c  .  . |  32 16 16  .  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 387 | pb fu  .  f  .  .  .  . |  64 32 32  .  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 388 | pb fu  .  f  .  .  .  . |  64 32 32  .  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 389 | pb fu  .  f  .  .  .  . |  64 32 32  .  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 390 | pb fu  .  f  y  x  .  . |  64 32 32  .  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 391 | pb fu  .  f  y  x  .  . |  64 32 32  .  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 392 | pb fu  .  f  y  x  .  . |  64 32 32  .  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 393 | pb fu  .  f  y  c  .  . |  64 32 32  .  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 394 | pb fu  .  f  y  c  .  . |  64 32 32  .  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 395 | pb fu  .  f  y  c  .  . |  64 32 32  .  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 396 | pb fu  .  f  .  .  .  . |  64 16 16 16 16 |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 397 | pb fu  .  f  .  .  .  . |  64 16 16 16 16 |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 398 | pb fu  .  f  .  .  .  . |  64 16 16 16 16 |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 399 | pb fu  .  f  y  x  .  . |  64 16 16 16 16 |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 400 | pb fu  .  f  y  x  .  . |  64 16 16 16 16 |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 401 | pb fu  .  f  y  x  .  . |  64 16 16 16 16 |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 402 | pb fu  .  f  y  c  .  . |  64 16 16 16 16 |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 403 | pb fu  .  f  y  c  .  . |  64 16 16 16 16 |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 404 | pb fu  .  f  y  c  .  . |  64 16 16 16 16 |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 405 | pb fu  .  f  .  .  .  . | 128 32 32 32 32 |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 406 | pb fu  .  f  .  .  .  . | 128 32 32 32 32 |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 407 | pb fu  .  f  .  .  .  . | 128 32 32 32 32 |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 408 | pb fu  .  f  y  x  .  . | 128 32 32 32 32 |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 409 | pb fu  .  f  y  x  .  . | 128 32 32 32 32 |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 410 | pb fu  .  f  y  x  .  . | 128 32 32 32 32 |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 411 | pb fu  .  f  y  c  .  . | 128 32 32 32 32 |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 412 | pb fu  .  f  y  c  .  . | 128 32 32 32 32 |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 413 | pb fu  .  f  y  c  .  . | 128 32 32 32 32 |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 414 | pb fu  .  f  .  .  .  . |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 415 | pb fu  .  f  .  .  .  . |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 416 | pb fu  .  f  .  .  .  . |  32 11 11 10  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 417 | pb fu  .  f  y  x  .  . |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 418 | pb fu  .  f  y  x  .  . |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 419 | pb fu  .  f  y  x  .  . |  32 11 11 10  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 420 | pb fu  .  f  y  c  .  . |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 421 | pb fu  .  f  y  c  .  . |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 422 | pb fu  .  f  y  c  .  . |  32 11 11 10  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 423 | pb fu  .  f  .  .  .  2 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 424 | pb fu  .  f  .  .  .  2 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 425 | pb fu  .  f  .  .  .  2 |  32 11 11 10  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 426 | pb fu  .  f  y  x  .  2 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 427 | pb fu  .  f  y  x  .  2 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 428 | pb fu  .  f  y  x  .  2 |  32 11 11 10  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 429 | pb fu  .  f  y  c  .  2 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 430 | pb fu  .  f  y  c  .  2 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 431 | pb fu  .  f  y  c  .  2 |  32 11 11 10  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 432 | pb fu  .  f  .  .  .  4 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 433 | pb fu  .  f  .  .  .  4 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 434 | pb fu  .  f  .  .  .  4 |  32 11 11 10  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 435 | pb fu  .  f  y  x  .  4 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 436 | pb fu  .  f  y  x  .  4 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 437 | pb fu  .  f  y  x  .  4 |  32 11 11 10  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 438 | pb fu  .  f  y  c  .  4 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 439 | pb fu  .  f  y  c  .  4 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 440 | pb fu  .  f  y  c  .  4 |  32 11 11 10  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 441 | pb fu  .  f  .  .  .  8 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 442 | pb fu  .  f  .  .  .  8 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 443 | pb fu  .  f  .  .  .  8 |  32 11 11 10  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 444 | pb fu  .  f  y  x  .  8 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 445 | pb fu  .  f  y  x  .  8 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 446 | pb fu  .  f  y  x  .  8 |  32 11 11 10  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 447 | pb fu  .  f  y  c  .  8 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 448 | pb fu  .  f  y  c  .  8 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 449 | pb fu  .  f  y  c  .  8 |  32 11 11 10  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 450 | pb fu  .  f  .  .  . 16 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 451 | pb fu  .  f  .  .  . 16 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 452 | pb fu  .  f  .  .  . 16 |  32 11 11 10  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 453 | pb fu  .  f  y  x  . 16 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 454 | pb fu  .  f  y  x  . 16 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 455 | pb fu  .  f  y  x  . 16 |  32 11 11 10  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 456 | pb fu  .  f  y  c  . 16 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 457 | pb fu  .  f  y  c  . 16 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 458 | pb fu  .  f  y  c  . 16 |  32 11 11 10  . |  4  .  . |   .  .  .  .  . |  .  .  . |
 | 459 | pb fu  .  f  .  .  .  8 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 460 | pb fu  .  f  .  .  .  8 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 461 | pb fu  .  f  y  x  .  8 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 462 | pb fu  .  f  y  x  .  8 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 463 | pb fu  .  f  y  c  .  8 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 464 | pb fu  .  f  y  c  .  8 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 465 | pb fu  .  f  .  .  . 16 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 466 | pb fu  .  f  .  .  . 16 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 467 | pb fu  .  f  y  x  . 16 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 468 | pb fu  .  f  y  x  . 16 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 469 | pb fu  .  f  y  c  . 16 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 470 | pb fu  .  f  y  c  . 16 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 471 | pb fu  .  f  .  .  . 16 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 472 | pb fu  .  f  .  .  . 16 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 473 | pb fu  .  f  y  x  . 16 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 474 | pb fu  .  f  y  x  . 16 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 475 | pb fu  .  f  y  c  . 16 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 476 | pb fu  .  f  y  c  . 16 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 477 | pb fu  .  f  .  .  . 32 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 478 | pb fu  .  f  .  .  . 32 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 479 | pb fu  .  f  y  x  . 32 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 480 | pb fu  .  f  y  x  . 32 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 | 481 | pb fu  .  f  y  c  . 32 |  32 11 11 10  . |  4 24  . |   .  .  .  .  . |  .  .  . |
 | 482 | pb fu  .  f  y  c  . 32 |  32 11 11 10  . |  4 24  8 |   .  .  .  .  . |  .  .  . |
 +-----+-------------------------+-----------------+----------+-----------------+----------+
 |     |          visual         |      color      | ax dp st |      accum      |   layer  |
 |  id | tp ac gd fm db sw st ms |  sz  r  g  b  a | bf th cl |  sz  r  g  b  a | ov un sw |
 +-----+-------------------------+-----------------+----------+-----------------+----------+

My laptop has a Geforce 650M, a few years old by now, but not exactly ancient either. This hardware does not allow 32 bit depth buffers. I can create an OpenGL 4.4 Core context on it, with modern features, multi render target and the whole nine yards... but no 32 bit depth. The glewinfo output below shows the table. So be careful about the 32 bit assumption (on lower-end NVIDIA hardware anyway). If I ask for 32 bit depth, it seems to try and create the context with the integrated intel graphics, and fails. I still need to try WGL_NV_gpu_affinity and AMD_gpu_association to prevent that in general.

The odd part is I can create a GL_DEPTH32F_STENCIL8 render target just fine for my deferred pipeline, which effectively becomes my 32 bit depth buffer, and I really don't use the framebuffer's depth for very far distances. So, I create the window with a 24 bit depth and call it a day.

Wait, so you can create 32bit depth buffers, just not as part of the context/window creation?
Dpadam, above, also mentioned context creation so I assume he was trying the same thing.

There's no point in creating your depth buffer as part of the window/context initialization any more - I'd just drop that from your GL code. It's more of a GL2/D3D9 approach.

The backbuffer has to be created in this special way (the swap-chain in D3D terms) because it's actually multiple buffers sharing a single name/handle.
There's no need for the depth buffer to be double-buffered though. D3D9/GL just did that as a convenience.

Also, support for D32F and D32FS8 is mandatory for all D3D11 cards, so the Geforce 650M does have hardware support for it. GL is just being a pain with two ways to do everything and one of them being wrong.

On the fifth day of creation, to hide the z-fighting and to prevent distance objects from suddenly popping into view, God added curvature to the earth.

Atmospheric fog and curvature together would probably help set an absolute limit to your terrain. Any ridiculously high objects - like mega towers or mega mountains, you could add just those (hopefully few) extreme situations to your skybox.

Yeah, on earth, the horizon is about 5km away, or 36km if you're on top of a 100m tower. 5km is definately feasible for most games. 36km is feasible if you've got great world LOD'ing :D

You can also just stop rendering things past a certain distance as an extreme/simple form of LOD. In my game, the world only exists out to about 5km, and suddenly stops. The atmospheric scattering effect draws a curved horizon in the distance, with fog thick enough that you can't actually see where the ground ends and the edge of the world begins -- it just looks like a smooth horizon!

If you use the debug camera to fly 200km straight up into the air, the horizon gets more and more curved until you're in space looking down at a pale blue dot like a space simulator :D Even though it's just fog (you can't see any continents or oceans), it's a pretty amazing effect to make it feel like the game world is boundless.

Haha! That's crazy, I want this game you've been working on to come out now just so I can see what this looks like :o

In GL 3 and 4 is there no way to draw straight to the backbuffer? Or do you actually control creating that elsewhere. I'm using straight forward rendering.

NBA2K, Madden, Maneater, Killing Floor, Sims http://www.pawlowskipinball.com/pinballeternal

This topic is closed to new replies.

Advertisement