Some Settings

Discussion in 'RivaTuner Advanced Discussion forum' started by Kakaru2, May 23, 2001.

  1. Kakaru2

    Kakaru2 Master Guru

    Messages:
    789
    Likes Received:
    0
    GPU:
    Gigabyte 8800GTX 768MB
    There are a couple of settings that puzzle me.<br>
    I play FreeSpace2. there are 2 settings there: Z-Buffer Bias and WFOG. <br>
    Here is what the game faq says about the second:<br>
    "WFOG is a Direct3D-only option. "Force WFOG" makes the D3D card use<br>
    WFOG (table-based rather than vertex-based fog) if available. Some cards<br>
    don't do WFOG properly (the S4, for example), so vertex fog is used by<br>
    default. Use this setting only for experimentation purposes."<br>
    It's nothing about Z-Bias.<br>
    <br>
    Do you know 3D WinBench 99? It's a great but also very annoying benchmark <br>
    tool. It has 60 quality tests that test each feature of DX6 and a <br>
    little from DX7.<br>
    <br>
    Among these are also the table based fog(2 actually, linear TF and <br>
    exponential TF) and Z-Buffer Bias. It also has a very interesting ability, <br>
    that of manually allowing the user to switch on some DDCAPS that are reported <br>
    by the driver as off.<br>
    <br>
    With the Fog Table disabled from RivaTuner even forcing the fog on has yielded<br>
    nothing. More luck I had with the Z-Bias. After forcing it on from Winbench options<br>
    the test run, but the image was similar to the one picturing a bad implementation <br>
    that the WinBenchs provides.<br>
    I also noticed that in Riva Tuner Power User Det 6.50 Database is a entry : ZBias.<br>
    I have a TNT2.<br>
    <br>
    So taking all these into account here's my questions.<br>
    <br>
    A. ZBias<br>
    1. What is this suppose to do?<br>
    2. Is it supported hardware in GeForce? Or in other 3dchip?<br>
    3. Is the ZBias value in reg enabled in 6.50 and if it is what value should i give <br>
    it to make d3d report it as supported? Even if the test will still show a bad <br>
    implementation but at least to run without being necessary to force it on from <br>
    within WinBench options.<br>
    4. After what should I be more careful to see the efects (or the lack of them) when <br>
    I play a D3D game that support it, like Freespace2?<br>
    <br>
    B. WFOG<br>
    Well i read the 3 docs on nvidia site about w-Buffer, Z-Buffer and W-Fog.<br>
    Is this scheme accurate?:<br>
    Fog--Vertex--Plane-----Z-Based--linear<br>
    --------------------------exponential<br>
    -------------------------exponential squared<br>
    -----W-Based----------linear<br>
    ------------------------exponential<br>
    ------------------------exponential squared<br>
    --Range-----Z-Based----------linear<br>
    ----------- -------------exponential<br>
    ----------- -------------exponential squared<br>
    -----W-Based----------linear<br>
    ------------------------exponential<br>
    ------------------------exponential squared<br>
    --Table --Plane-----Z-Based----------linear<br>
    ------------------------exponential<br>
    ------------------------exponential squared<br>
    -----W-Based----------linear<br>
    -----------------------exponential<br>
    ---------------------exponential squared<br>
    <br>
    Here one could have expected also for:<br>
    <i>(--Range-----Z-Based----------linear<br>
    ------------------------exponential<br>
    ------------------------exponential squared<br>
    -----W-Based----------linear<br>
    -------------------------exponential<br>
    ------------------------exponential squared)</i><br>
    but The nvidia paper says that the range and table attributes are <br>
    incompatibile.<br>
    Let's forget about the last attribute,the Drop Off(linear, exponential, <br>
    exponential squared).<br>
    We then have:<br>
    <br>
    Fog---Vertex-------Plane-------------Z-Based<br>
    -------------W-Based<br>
    -------Range-------------Z-Based<br>
    -------------W-Based<br>
    ---Table ------Plane--------------Z-Based<br>
    --------------W-Based<br>
    <br>
    Then, if i read correctly the table from the end of nvidia doc:<br>
    -in DX6 no Table based fog is allowed, because of lack of D3Drender***<br>
    -from one of the footnotes i was left puzzled: it says that table can be used <br>
    with range if T&L is activated but it's not a valid mode. <br>
    <br>
    Questions:<br>
    1. From a theorethical point of view, which implementation, Vertex or Table(Pixel) <br>
    is better?<br>
    2. Same question but specifically for nvidia hardware, TNT2 and GF1/2/3?<br>
    3. Obviously vertex+range is better then vertex+plane. How about Table+Plane? <br>
    Where does it fits in relation with the other two? I don't know if freeSpace2 <br>
    is implementing range so i assume the worst and i'm curious about the other 2, both <br>
    plane-based, which one is better vertex or table? Which option should i enable?<br>
    4. There are levels in FS2 in a nebula, which is of course massively fogged. I tried enabling/disabling WFOG option but I don't seem to be able to spot the differences. <br>
    After what should I look?<br>
    5. Why is the option called WFOG although it refers to the plane based? In 3DWinbench also at the table fog (linear and exponential) is said in the readme that w-based fog is required as projective Z-fog is not supported (probably by Winbench itself).<br>
    <br>
    Wow! What a long post. Hope i would get a reply soon.<br>
    <br>
    <br>
    <i>This message was edited by Kakaru2 on 23 May 2001 02:23 PM</i><br>
    <br>
    <i>This message was edited by Kakaru2 on 23 May 2001 02:34 PM</i><br><br><i>This message was edited by Kakaru2 on 23 May 2001 02:41 PM</i>
     
  2. Kakaru2

    Kakaru2 Master Guru

    Messages:
    789
    Likes Received:
    0
    GPU:
    Gigabyte 8800GTX 768MB
    I don't know what's happening but that damn page is resetting my scheme.<br>
    The idea is:<br>
    Fog:Vertex or Table, then each of them Plane or Range, then each of these 4Z-Based or W-based and finally each of these 8 now divide in 3:linear, exp or exp square.
     
  3. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,190
    Likes Received:
    6,832
    &gt; A. ZBias<br>
    &gt; 1. What is this suppose to do?<br>
    <br>
    Quote from DX7 SDK:<br>
    <br>
    "Polygons that are coplanar in your 3-D space can be made to appear as if they are not coplanar by adding a z-bias to each one. This is a technique commonly used to ensure that shadows in a scene are displayed properly. For instance, a shadow on a wall will likely have the same depth value as the wall does. If you render the wall first, then the shadow, the shadow might not be visible, or depth artifacts may be visible. You could reverse the order in which you render the coplanar objects in hopes of reversing the effect, but depth artifacts are still likely."<br>
    <br>
    &gt; 2. Is it supported hardware in GeForce? Or in other 3dchip?<br>
    <br>
    Yep, it's supported by GF256 and higher.<br>
    <br>
    &gt; 3. Is the ZBias value in reg enabled in 6.50 and if it is what value should i give it to make d3d report it as supported? <br>
    <br>
    I have no strict info about this registry entry. But it looks like it doesn't affect on Direct3D driver's Z-biasing capability. ZBias registry entry is interpreted by driver as FLOAT value and it uses this value in some floating point calculations - that's all that I've got from disassembled Direct3D driver.<br>
    <br>
    &gt; 4. After what should I be more careful to see the efects (or the lack of them) when I play a D3D game that support it, like Freespace2?<br>
    <br>
    U'll probably see depth buffering artifacts in games, which require Z-biasing. For example, U/UT always use Z-biasing without checking Direct3D driver's capabilities. Had u ever noticed depth buffering artifacts on detailed textures? Tim uses Z-biasing to ensure that they are displayed correctly, but this trick does not work on TNT/TNT2 boards.<br>
    <br>
    &gt; 1. From a theorethical point of view, which implementation, Vertex or Table(Pixel) is better?<br>
    <br>
    Pixel (aka table) fog looks better.<br>
    <br>
    &gt; 2. Same question but specifically for nvidia hardware, TNT2 and GF1/2/3?<br>
    <br>
    All NVIDIA cards have hardware implementation of vertex fog. Table fog is emulated by driver via vertex fog on TNT/TNT2 so it's a bit slower. GeForce256 and higher supports table fog in harware.<br>
    <br>
    &gt; 3. Obviously vertex+range is better then vertex+plane. How about Table+Plane? <br>
    <br>
    "Range" and "Plane" therms are applied to vertex fog only.<br>
    <br>
    &gt; 5. Why is the option called WFOG although it refers to the plane based? <br>
    Pixel fog can use either Z or W coordinate. Probably FreeSpace2 uses W that's why they called this option WFOG.<br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
     
  4. Kakaru2

    Kakaru2 Master Guru

    Messages:
    789
    Likes Received:
    0
    GPU:
    Gigabyte 8800GTX 768MB
    Thanks a lot for your answers!
     

Share This Page