Results 1 to 9 of 9

Thread: Landscape rendering

  1. #1

    Default Landscape rendering

    The new engine appears to have really sped up landscape rendering on my system and I like it. I'm wondering if there will be support for more 2D landscape like the sky however?

    I've noticed that everything no matter how far away is rendered as 3D even at ranges where a 3rd dimension doesn't matter. If objects like trees could have 2D artwork instead then they'd take less memory to load and would load faster. It would also give the impression of greater distances because they could then be rendered 2D at even further away while still using less memory.

  2. #2

    Default Re: Landscape rendering

    We already do have lower model detail for objects at a distance for most things int eh game, including pine trees as simple 3-quad texture piles. the problem with using such drastically low quality LOD, is that there's a very noticable pop when you go to anything of higher quality, such as a model. (They also tend to look like total poop from the air)

    Also: longer view distances? maybe. less memory? no way. All levels of detail for a model need to be loaded to prevent hitching if/when the LOD distance threshold is crossed and the higher lovel of detail is needed to be displayed. pushing out view distances will only make more objects needing to be loaded into memory at once.

  3. #3
    Member
    Join Date
    Oct 2004
    Location
    In a skylair, high above the clouds
    Posts
    2,221

    Default Re: Landscape rendering

    What you are talking about there are called "impostors", where a 2D rendering is made of a 3D object in its place to reduce scene complexity for objects way off in the distance.

    The downsides are that impostors still are 2D, and as Fridlekh pointed out, they look like crap from the air, because they are usually rendered from a ground perspective (unless they are dynamically rendered frequently); and they also are textures, lots of which can use up a lot of texture memory quickly, unless you use very low resolution textures (usually OK at a distance).

    A method I have found acceptable for switching from impostor to actual object is cross-fading. This technique is used extensively in Guild Wars, and is hardly ever noticeable; you have to stare at an impostor (which is usually fairly easy to spot on the horizon because of the low-rez texture) as you move in-range, and you can watch it cross-fade to the actual model. Once in a while, the impostor is radically different from the actual model, which is when it is noticeable. However, it is still MUCH less distracting than the "popping" where the engine changes from impostor to model in one frame.
    Erus Ex Universitas -- Erus Ex Istaria Guild Home

    1. Fix what is broken. -- 2. Finish what is not complete. -- 3. Start something new.

  4. #4

    Default Re: Landscape rendering

    3d Models already pop onto the horizon so I don't see how transitioning would be worse.

    Viewing from air certainly would be a problem so one would have to be careful what and at what range 2d models were used. At the very least I'd like to see 2D scenes of mountains that I'm moving towards in the distance and other scenics features.

    Maybe it could be a feature that could be turned on or off for people who don't have the video memory for it. (One of my machines does, one doesn't).

  5. #5

    Default Re: Landscape rendering

    The idea of putting mountains and other landmarks in the skydome has been tossed around before... this is technically possible, but would require huge numbers of pre-renders to be made in-enngine with huge view distance at regular intervals ... and require new 'weather regions' to be made everywhere you wanted things in teh distance to show up in the background of the scene...

    that's with existing tech...

    Another way to do it would be to modify the terrain system to render out to a very far distance, just skip the [expensive] texturing and lighting step for anything past the fog end dist... this would give a 'black shadow' effect for far away terrain, but would certainly come at a main memory and video memory cost... Additionally, spherical projection maps could be made and cached along side terrain lod textures so that when entering a new sector, the distant terrain as visible from the center of the sector could be loaded and used rather than a render...

    One way requires a lot of work, but no new tech. the other way requires new tech, but not as much work. Anyone else have ideas on how it could be practically implemented?

  6. #6

    Default Re: Landscape rendering

    Been trying to go over and think about this and pay more attention to how the engine draws things at a distance. Of course the more I pay attention to it the more it annoys me

    So far all the ideas mentioned sound like improvements. There is of course always an opportunity cost unfortunately that VI will have to consider.

    The biggest areas for improvement I think are mountains and ocean on the horizon. Mountains kind of slice into view as you approach them. The oceans generally terminate with a triangle or fractal on an undefined horizon. These are the first places I would consider 2D imposters. If you've reached the end of the zone by water then it should render out to a certain distance and the remainder should be a 2D backdrop to give a real appearance of ocean. The backdrop would need to be on top of the render so it isn't bisected with geometry.

    The mountains are trickier. A possibility is instead of the current system which draws the mountain piecemeal as you approach (making the peak one of the last things you see is wrong IMO) the entire mountain is linked and loaded all at once. So that either you're in range to see the entire mountain or you're not in range to see any of it depending on draw distance. Then a few select and especially large mountains might be the only ones with impostors on the skydome.

    I'll continue mulling over the possibilities for a while I expect.

  7. #7

    Default Re: Landscape rendering

    The problem with 'linking the mountain' is that the system is designed to be dynamic. That is, changable on the fly.

    For the client to know that the mountain needs to be linked in the first place would require that the entire map-space visibility be pre-computed (and again we come to the problem of flying things having different levels of visibility than non-flying things.

    That's not to say that this would be a bad thing to invest time and code into... it could potentially offer a great improvement in performance as well as visual quality, but that must be weighed against the requirement of re-writing bits of the server, completely re-writing the terrain engine in the client (again) and losing the existing ability to make live edits on terrain which isn't used much (at all?) now, but may be desirable in the future...

  8. #8

    Default Re: Landscape rendering

    modding the terrain live has been done in the past... and would be great to witness again.. but that would require quite the bit of pre-planning on the part of VI... not saying it isn't possible for future events.. just doesn't seem feasible with the current man(woman) power..
    Elated that HZ is no longer in the hands of the Infidels.

    Now.. I may have to split my time between 2 games... CS:S and HZ...

  9. #9

    Default Re: Landscape rendering

    All terrain changes are made "live", even on Genesis. That is, they are made using the client on an active running server.
    "Alea iacta est" -- Julius Caesar

    Toot shouted, voice shrill, "In the name of the Pizza Lord! Charge!" (Jim Butcher's Dresden Files)

    "Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will spends it whole life believing that it is stupid." -- Albert Einstein

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •