A question about water

Discussion in 'Mapping Questions & Discussion' started by snowsquirrel, May 4, 2017.

  1. snowsquirrel

    snowsquirrel L3: Member

    Messages:
    114
    Positive Ratings:
    18
    I've read on the wiki about something saying you cannot have water on multiple levels of your map. Could someone elaborate on this more please?

    For example: Water 256hu high then a separate brush of water 512hu high. Would this cause glitches or problems?
    Ty.
     
  2. Vel0city

    aa Vel0city personal pick-pocketing parrot

    Messages:
    1,883
    Positive Ratings:
    1,488
    You can have cheap water on multiple levels. If you do more expensive water (one with cubemaps or real-time reflections) one of the two bodies of water will turn into cheap water while it's being rendered (note, not visible bodies of water can still be rendered making both bodies cheap).
     
    • Thanks Thanks x 1
  3. snowsquirrel

    snowsquirrel L3: Member

    Messages:
    114
    Positive Ratings:
    18
    Ahh so only one body of water with cubemaps will properly work whereas cheap water can be used on multiple levels.
     
  4. Dr. Orange

    Dr. Orange L6: Sharp Member

    Messages:
    356
    Positive Ratings:
    267
    Cheap water usually uses cubemaps. It's the water with real-time reflections that can only have one height level visible at any time.
     
  5. henke37

    aa henke37

    Messages:
    1,836
    Positive Ratings:
    420
    Note that the limit applies to PVS. You can have expensive water of different levels as long as only one level can be visible at the same time.
     
    • Agree Agree x 1
  6. BigfootBeto

    aa BigfootBeto Too obsessed with perfection

    Messages:
    360
    Positive Ratings:
    534
    You can see exactly what happens in pl_cliff_edge. At the very beginning, there is a small area of water in front of blu spawn, and then a little further back is a deathpit with water further down. When you stand so that you can see both areas of water at the same time, the game has trouble deciding which water to put transparency on, so the water flickers and goes back and forth between transparent and non transparent.
     
    • Thanks Thanks x 1
  7. Pocket

    aa Pocket func_croc

    Messages:
    4,489
    Positive Ratings:
    2,213
    I think cheap water also has no internal fog (although you can set a color that it applies uniformly to everything under it, just like if it were colored glass) and no refractions. If it were just the reflections thing then it wouldn't even matter because by default, all water materials in TF2 use cubemap reflections for performance and/or stylistic reasons.
     
  8. [Rx.] Christian Troy

    [Rx.] Christian Troy L4: Comfortable Member

    Messages:
    154
    Positive Ratings:
    42
    How do we properly separate waters? In one of my maps there are 2 sinks with water in buildings and a main body of water outside of them. The main body of water reflects fine most times but if you are inside the buildings near the sinks, it's reflections change.
     
  9. Pocket

    aa Pocket func_croc

    Messages:
    4,489
    Positive Ratings:
    2,213
    For things like sinks or fountains just use cheap water since the lack of fog or refractions won't be noticeable. Even if you don't have regular water anywhere on your map, this is my recommendation.
     
    • Thanks Thanks x 1
  10. Micnax

    aa Micnax I maek map

    Messages:
    2,021
    Positive Ratings:
    1,339
    Also you canh use a water_lod_control to manually control the distance of when your expensive water turns to cheap water.
     
    • Thanks Thanks x 1
  11. Tumbolisu

    aa Tumbolisu  I ⌄ I 

    Messages:
    931
    Positive Ratings:
    895
    Fog is exactly what breaks when using multiple waterheights.
    Cheap water not having fog comes from the fact that cheap water uses a different, cheaper shader than water, which does not allow fog. This can be lightmappedgeneric or unlitgeneric.
    You can see how both 2fort's skybox water and hydro's water look extremely different: One is opaque and the other is transparent. One has cubemap reflections the other has none. And yet, none have fog, as they are both cheap.

    Using multiple water-brushes will result in the game using the closest water-brush for the underwater fog settings. Therefore, using multiple different water textures, and especially different heights, will cause fog to break for waterbrushes that are further away.
     
    • Thanks Thanks x 1
  12. snowsquirrel

    snowsquirrel L3: Member

    Messages:
    114
    Positive Ratings:
    18
    So while browsing water textures, it comes up with ones that say 'cheap' then the standard ones and 'expensive' textures. For example the expensive 2fort water texture. (very reflective and pretty)
    My question is: How different are these 'expensive' versions compared to the standard water textures? (which still use fog and cubemaps)
     
  13. Crowbar

    aa Crowbar perfektoberfest

    Messages:
    1,419
    Positive Ratings:
    1,141
    "Standard"? AFAIK, there are "cheap" ones and "expensive" ones. Latter use pretty features, former don't. No in-between.
     
  14. snowsquirrel

    snowsquirrel L3: Member

    Messages:
    114
    Positive Ratings:
    18
    But there's a "water_2fort_skybox" with the word 'cheap' on the texture preview, "water_2fort" and "water_2fort_expensive" with 'expensive' on the texture preview.
     
  15. Viperi

    aa Viperi not actually a snek

    Messages:
    962
    Positive Ratings:
    530
    The ones without cheap nor expensive are the ones that transition from expensive to cheap between a distance set by the water_lod entity. Cheap water textures force cheap water and the same for textures with expensive.
     
  16. Vel0city

    aa Vel0city personal pick-pocketing parrot

    Messages:
    1,883
    Positive Ratings:
    1,488
    Cheap water has no reflections, no refractions, no fog, nothing. "Normal" water has fog, refractions and cubemapped reflections. Expensive water has fog, refractions and real-time reflections. It's called expensive becuase the reflections are rendered during runtime instead of being pre-calculated like cubemaps. It takes more GPU power to render.
     
  17. snowsquirrel

    snowsquirrel L3: Member

    Messages:
    114
    Positive Ratings:
    18
    Ohh ok thanks guys.